jquery-ui 选项卡使用较旧的 jquery 1.8 获得锚点 href
Posted
技术标签:
【中文标题】jquery-ui 选项卡使用较旧的 jquery 1.8 获得锚点 href【英文标题】:jquery-ui tabs getting anchor href with older jquery 1.8 【发布时间】:2017-05-23 17:21:51 【问题描述】:我已经环顾四周,如果我错过了答案,我很抱歉。遇到this post。还有一些人现在在 SO 上流传,想知道是否有更简单的方法:
问题:
<ul>
<li><a id="test1" href="/someurl">click1</a></li>
<li><a href="/someurl2">click1</a></li>
<li><a href="/someurl3">click1</a></li>
</ul>
紧随其后
<ul id="ui-tabs-1" ></ul>
<ul id="ui-tabs-2" ></ul>
一切正常,我想做的是将任何给定选定 li 中的 url 从 href="/someurl"
更改为 href="/someurl?params=something"
var href = $('#test1').attr('href')
console.log('link is '+href)
//this returns correct link
$('#tabs').on('refreshListing',function(event,target)
$(this).tabs('load',$(this).tabs('option','selected'));
var href = $('#test1').attr('href')
console.log('link is '+href)
//this returns #ui-tabs-1
);
目前上述函数只是重新加载 url,当尝试获取 li 的 url 时,我得到 #ui-tabs-1
而不是 /someurl
refreshListing 上面发生了一些奇怪的事情,href 中的实际 ID 链接的值被转换,最终在它加载该选项卡 id 之前,我希望它访问新的 url,而不是现在它很难说到底是什么导致了这些怪事
【问题讨论】:
【参考方案1】:没关系解决它,问题比描述的要复杂一点。
你有动态的标签,但上面还有一个搜索表单
$('#tabSpecific').on('refreshListing',function(event,target)
//This was previously
//var obj = $('#search')
//Now changed to - this to fix underlying (above issue)
var obj = $('#search').find("input").not("input[type='hidden']").filter(function()
return this.value;
);
if (obj.length > 1)
obj.trigger('submit');
else
$(this).tabs('load',$(this).tabs('option','selected'));
)
问题是它总是返回大于 1 的大小(由于多个选项卡共享相同的共同事物的其他复杂性)所以它击中了提交的提交功能 - 通过选项卡的搜索表单进行页面 - 然后没有需要时重新加载实际选项卡....
无论如何很难表达这一切,但上述修复了我需要它如何工作的行为 - 只有当它实际进行搜索时才会提交,否则它将重新加载,这应该适合我的情况
【讨论】:
以上是关于jquery-ui 选项卡使用较旧的 jquery 1.8 获得锚点 href的主要内容,如果未能解决你的问题,请参考以下文章
最新的 Datepicker jquery-ui-1.10.0 问题
将较新的 Visual Studio 版本与较旧的 MFC 版本一起使用?