下面我有一些jsp代码和jquery根据同一li
内的隐藏输入值禁用li
,但它不起作用。
$("li#menuli:has('input'):contains('myvalue)").addClass('disabled');

<ul id="menu">
<s:iterator status="idx" value="VO.List">
<li id="menuli" ><s:hidden name="test[%{#idx.index}]" id="test[%{#idx.index}]" value="${myvalue})"/>
<a class="header-nav-link" href="#">${VO.Name}</a>
</li>
</s:iterator>
</ul>
&#13;
答案 0 :(得分:0)
:contains
用于文本,而不是表单控件值
可以使用filter()
$("#menu li:has('input')").filter(function(){
return $(this).find('input').val() === 'myvalue';
}).addClass('disabled');
请注意,ID的定义必须是唯一的
答案 1 :(得分:0)
我的印象是,您的示例中存在大量语法错误,但只要一切正确,您只需使用以下选择器即可使用该值进行搜索:
$('li[value="myvalue"]').addClass('disabled');