我需要在所选div中的每个<input type="checkbox">
创建一个id的数组。
HTML
<div id="ADC-Designer-CAD">
<table>
<tr>
<td>Teamcenter Completed:</td>
<td><input type="checkbox" id="tc" onChange="mtcb()" /></td>
<td><input type="button" id="tc" class="btn btn-default"onClick="ScrollToKP();" /></td>
</tr>
<tr>
<td>NX Manager Completed:</td>
<td><input type="checkbox" id="nxm" onChange="mtcb()" /></td>
<td><input type="button" id="nxm" class="btn btn-default"onClick="ScrollToKP();" /></td>
</tr>
</table>
</div>
有多个像这样的div,它们具有不同的id。我的代码首先选择div。我可以让它过滤正确的div。我无法在div中创建复选框id的数组。
的JavaScript
$.get('content/page.php', function(data) {
data1 = $(data).filter('#' + actSite + '-' + actUT + '-CAD');
data2 = $(data1).filter(`*Not sure what to put here*`);
});
data1
正常工作并从<table>...</table>
获取我需要的东西看起来像
data1 = ["tc", "nxm", ...]
如果我要为每个项目创建一个数组,我需要一个数组,这需要数周时间。我需要能够一遍又一遍地更改data1
中的数据。
编辑/解决方案 - 2015年4月21日
我已经更改了所有ID的复选框,正如许多人所评论的那样。这是我的工作代码:
var NewArray = [];
$(':checkbox').each(function(index, element) {
NewArray.push(this.id);
});
//results NewArray = [ADC-Designer-CAD-tc,ADC-Designer-CAD-nxm,....]
答案 0 :(得分:1)
试试这样的javascript:
var result = new Array();
$("#ADC-Designer-CAD input[type=checkbox]").each(function(index, element) {
result.push($(element).attr("id"));
});
答案 1 :(得分:1)
您确定要使用JQuery吗?
我认为这可能会起到作用:
function getIDs() {
var inputs = document.getElementsByTagName("input")
var i;
var checkboxes = [];
for (i = 0 ; i < inputs.length ; i++) {
if (inputs[i].getAttribute("type") == "checkbox")
checkboxes.push(inputs[i].id);
}
return checkboxes;
}
基本上,我在所有input
个元素中搜索具有checkbox
类型的元素。然后,我将ID推入数组。
我强烈建议只使用带有ID的 ONE 元素。拥有两个具有相同ID的元素是不好的。
这就是为什么我们getElementById()
没有's'
而getElementsByClassName()
有's'