如何检查许多li
个元素中是否有一个类,如果有,请调用函数?
嵌套<div class="selectbox"/>
和<input type="hidden"/>
列表中有多个<ul />
。我需要检查每个.selectbox ul
内是否是许多具有关联li a
类的.selected
元素之一。如果是这样,请将其值传递给<input type="hidden"/>
值属性。
这是一段代码:
<div id="selectbox1" class="selectbox">
<input type="hidden" name="selectbox1" />
<ul>
<li><a href="#" name="value01">Option 01</a></li>
<li><a href="#" name="value02">Option 02</a></li>
<li><a href="#" name="value03" class="selected">Option 03</a></li>
<li><a href="#" name="value04">Option 04</a></li>
<li><a href="#" name="value05">Option 05</a></li>
</ul>
</div>
谢谢大家,我选择的响应时间最短。
答案 0 :(得分:3)
这应该这样做:
$('.selectbox').each(function(){
var $selected = $('a.selected',$(this));
if($selected.length){
$('input',$(this)).val($selected.text());
}
});
实例(隐藏更改为文字以供演示):http://jsfiddle.net/YL4AB/
实例2(显示多个.selectbox
div):http://jsfiddle.net/YL4AB/1/
答案 1 :(得分:1)
我是通过获取“selectbox”input
下的所有div
元素,然后找到所选a
(如果有)来实现的。 E.g:
$(".selectbox > input").each(function() {
this.value = $(this).closest(".selectbox").find("a.selected").first().attr("name") || "";
});
Live example,我将隐藏的输入作为文本输入,以便您可以看到它。单击按钮以触发上述代码。 (单击链接会更改选择哪一个,但不更新输入 - 这样您就可以看到单击按钮时会发生什么。)我还使用CSS突出显示所选的一个。
答案 2 :(得分:0)
$('input[name="selectbox1"]').val($("#selectbox1 li > a.selected").text());
答案 3 :(得分:0)
这是一些代码,解释它的作用:
// Grab the selectbox elements
$('.selectbox').each(function() {
// Loop through the LI elements which have Anchor elements with the '.selected' class
$(this).find('li a.selected').each(function() {
// Execute arbitrary function
alert($(this).text());
});
});
这很简单,适合大多数人所说的。希望文档能有所帮助。