Javascript 如何获取字段集元素中复选框的所有ID?

Javascript 如何获取字段集元素中复选框的所有ID?,javascript,jquery,Javascript,Jquery,如何使用jQuery获取字段集元素中的复选框的所有ID 下面是我到目前为止所做的尝试 jQuery: $(document).on("click", "a[id$='btnShowRates']", function (e) { //for selecting checkboxes when page loads first time var everyChildcb = document.querySelectorAll('[id$=listRateCats] input[type=c

如何使用
jQuery
获取
字段集
元素中的
复选框
的所有ID

下面是我到目前为止所做的尝试

jQuery:

$(document).on("click", "a[id$='btnShowRates']", function (e) {
  //for selecting checkboxes when page loads first time
  var everyChildcb = document.querySelectorAll('[id$=listRateCats] input[type=checkbox]');

  //I also tried like below but not working

  //var everyChildcb = document.querySelectorAll("#listRates");
});
HTML代码: HTML代码中包含一个字段集元素。在下面的HTML代码片段中可以看到多个复选框

<fieldset data-role="controlgroup" id="listRates" data-icon="false" runat="server">
  <div style='position:relative;'>
    <input type='checkbox' id='1' data-display-name='Rack/General' />
    <label for='1'>Rack/General</label>
    <img id='img_1' class='checkboxFixIconLeft' />
  </div>
  <div style='position:relative;'>
    <input type='checkbox' id='4' data-display-name='Government' />
    <label for='4'>Government</label>
    <img id='img_4' class='checkboxFixIconLeft' />
  </div>
  <div style='position:relative;'>
    <input type='checkbox' id='6' data-display-name='Package' />
    <label for='6'>Package</label>
    <img id='img_6' class='checkboxFixIconLeft' />
  </div>
  <div style='position:relative;'>
    <input type='checkbox' id='3' data-display-name='Family' />
    <label for='3'>Family</label>
    <img id='img_3' class='checkboxFixIconLeft' />
  </div>
</fieldset>

机架/通用
政府
包裹
家庭
感谢您的帮助和建议,谢谢

您可以使用map()函数获取id作为数组

var ids = $("fieldset :checkbox").map(function() {
  return this.id;
}).get();
console.log(ids)
或者,您可以循环通过复选框来获取id。对于循环,可以使用
.each()
。在循环上下文中,可以使用
this.id
获取当前循环复选框的id

$("fieldset :checkbox").each(function() {
  console.log(this.id);
});

您可以使用map()函数获取id作为数组

var ids = $("fieldset :checkbox").map(function() {
  return this.id;
}).get();
console.log(ids)
或者,您可以循环通过复选框来获取id。对于循环,可以使用
.each()
。在循环上下文中,可以使用
this.id
获取当前循环复选框的id

$("fieldset :checkbox").each(function() {
  console.log(this.id);
});

$('listreates')。查找('input:checkbox')。每个(函数(){
警报($(this.attr('id'))//获取每个复选框id
})

机架/通用
政府
包裹
家庭
► 运行代码段
$('listreates')。查找('input:checkbox')。每个(函数(){
警报($(this.attr('id'))//获取每个复选框id
})

机架/通用
政府
包裹
家庭

► 运行代码片段
Anoop,
.map
结果将与
.get()
:)检查
console.log(ids)
并检查
console.log(ids.get())
.So
$(“字段集:复选框”).map(函数(){return this.id;}.get()
将很好:)@Rayon是的,你是正确的。现在看起来好多了。我将编辑我的答案。谢谢您的更正。@AnoopJoshi:谢谢,我还有一个查询,现在当我得到ID时,am想调用函数-function-setCustomChecked(checked,context){}like-for(id中的var I){setCustomChecked(false,ids[I]);},但根据上下文的要求-input#abr property value=“on”attribute value=“null”但现在上下文中的内容是=abr/机架…您的实际需求是什么?应该还有另外一种简单的方法来做这件事。一个操作,
.map
的结果会看起来很漂亮
.get()
:)检查
console.log(ids)
和检查
console.log(ids.get())
。所以
$(“字段集:复选框”).map(函数(){返回这个.id;}.get()
会很好:)@Rayon是的,你是正确的。现在看起来好多了。我将编辑我的答案。谢谢您的更正。@AnoopJoshi:谢谢,我还有一个查询,现在当我得到ID时,am想调用函数-function-setCustomChecked(checked,context){}like-for(id中的var I){setCustomChecked(false,ids[I]);},但根据上下文的要求-input#abr property value=“on”attribute value=“null”但现在上下文中的内容是=abr/机架…您的实际需求是什么?应该有其他简单的方法来做这些事情。答案对你有用吗?答案对你有用吗?