jquery只有在具有关联的已选中复选框时才查找隐藏字段

时间:2013-11-20 04:44:04

标签: jquery html

我有一系列复选框和隐藏字段,如:

<input type="checkbox" name="chkbox">Option 1
<input type="hidden">uid of option 1
<input type="checkbox" name="chkbox">Option 2
<input type="hidden">uid of option 2

为了获取隐藏字段的值(uids),只有在选择了相关的复选框后,才需要使用jquery find的说明符是什么?我想做$(说明符).serialize()。

3 个答案:

答案 0 :(得分:1)

$('input[type="hidden"]').filter(function(){
    return $(this).prev().is(':checkbox:checked')
})

如果要序列化,请确保为隐藏元素指定名称属性

演示:Fiddle

答案 1 :(得分:0)

var hiddvalue=[];//make a array to store hidden value related to checked checkbox
$(":checkbox:checked").each(function(){
hiddvalue.push($(this).next(":hidden").val());//push value in array

});
alert(hiddvalue.join(","));//now value show with comma seprated

答案 2 :(得分:0)

根据http://api.jquery.com/serialize/

的文件
  

复选框和单选按钮(“radio”或“checkbox”类型的输入)中的值仅在选中时才包含。

因此,如果您将此格式用于复选框:

<input type="checkbox" name="chkbox1" value="uid of option 1">Option 1
<input type="checkbox" name="chkbox2" value="uid of option 2">Option 2

您应该可以使用:     $( '输入[类型= “复选框”]')。序列()