Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery从名称[]获取复选框_Javascript_Jquery - Fatal编程技术网

Javascript jQuery从名称[]获取复选框

Javascript jQuery从名称[]获取复选框,javascript,jquery,Javascript,Jquery,我有这样的复选框: <ul id="searchFilter"> <li><input type="checkbox" name="price[]" class="cb_price" value="1"> $200,000 to $299,999</li> <li><input type="checkbox" name="price[]" class="cb_price" value="3"> $300,00

我有这样的复选框:

<ul id="searchFilter">
    <li><input type="checkbox" name="price[]" class="cb_price" value="1"> $200,000 to $299,999</li>
    <li><input type="checkbox" name="price[]" class="cb_price" value="3"> $300,000 to $399,999</li>
    <li><input type="checkbox" name="price[]" class="cb_price" value="5"> $400,000 to $499,999</li>
    <li><input type="checkbox" name="price[]" class="cb_price" value="8"> $500,000+</li>
</ul>
  • 200000至299999美元
  • 300000至399999美元
  • 400000至499999美元
  • 50万美元+
如何提醒价格[]以查看已检查的内容?我对jquery非常陌生:(

尝试以下方法:

var alert="";
$('input[type=checkbox]').each(function () {
  if($(this).attr("checked") == 1)) alert += $(this).val();
  if(alert.length > 1) alert(alert);
});
您可以尝试以下方法:-

var selected = [];
$('[name="price[]"]:checked').each(function(checkbox) {
selected.push(checkbox);
});
将选择器
$('#searchFilter[name=“price[]”:checked')
与jquery一起使用,以查找此表单中所有名为“price[]”的复选框。这将是零个或多个元素,具体取决于选中的数量

var checked = [];

$('#searchFilter [name="price[]"]:checked').each (function (i, e)
{
    checked.push ($(this).val ());
});

alert (checked.join (','));
然后使用jquery each()函数迭代找到的checkbox元素,并将它们的值收集到“checked”数组中。在each()的回调函数中,
this
指向当前元素的dom节点,用
$(this)
将其包装以创建jquery对象并使用
.val()
从中检索值

最后,使用“checked”数组的join()函数将项目合并成一个字符串,以形成一个逗号分隔的列表。如果没有选中任何复选框,则该列表可以是空字符串

var checked = [];

$('#searchFilter [name="price[]"]:checked').each (function (i, e)
{
    checked.push ($(this).val ());
});

alert (checked.join (','));

请注意,其他答案使用了
this.value
来检索复选框的“value”属性,而不是使用
$(this.val()
,这是jquery的方法,更不容易出错。

一种方法是将每个复选框设置为特定的id。然后可以使用
$('\35;'+id)。is(“:checked”)
查看是否选中该复选框。如果选中该复选框,则可以获取范围并将其存储在变量中。然后可以返回该变量


如果您需要有关复选框的帮助,请选中页面。

首先,您可以通过
name
获取复选框:

var checkboxes = $('input[name="price[]"]');
然后,要获得选中的
值,您可以通过伪选择器
:checked
进行过滤,然后收集它们的
值:

checkboxes.filter(":checked").map(function () {
    return this.value;
}).get()
演示:


参考文献:

  • jQuery().filter()
    -
  • jQuery().map()
    -

您希望何时发出警报..?您希望警报名称
price[]
还是显示的实际价格?如果我选择值1和5,我将查找一个警报,其中1,5在选中一个警报后发出警报,另一个警报在单击两个警报后发出警报并同时显示这两个值..?
$('input[name=“price[]”)。filter(:checked”).map(函数(){返回this.value;}).get())
-@Ian请将答案作为答案发布,这样问题就不会永远没有答案……这只对单个复选框有效。它不会提醒可能选中的其他复选框的值。这只会给我1个值,我正在寻找一个值列表,如果我选择1和5,我正在寻找一个1,5的警报,它将发送单独的警报。需要在循环中记录VAL并在之后发出警报。我目前正在审阅此答案,因为它被版主级别的用户标记为进行质量评估。感谢您的回答,非常感谢您的时间。但是,这被认为是低质量的回答,因为它缺少解释如何以及为什么它解决OP问题的文本。我不会回答这一次,我们不会将其标记为删除,因为它可能会解决问题,我们也不想失去它,但如果你能用几行解释它是如何帮助的,将答案充实一点就好了。谢谢。