jquery根据LI中的隐藏字段禁用LI

时间:2016-06-27 18:04:07

标签: javascript jquery jsp

下面我有一些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;
&#13;
&#13;

2 个答案:

答案 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');