Javascript 来自复选框的数据值
我试图从复选框中获取一些数据值,如下所示Javascript 来自复选框的数据值,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我试图从复选框中获取一些数据值,如下所示 <input type="checkbox" data-administration="" data-dosage="" data-date="" disabled checked/> <input type="checkbox" data-administration="" data-dosage="" data-date="" checked/> <input type="checkbox" data-administr
<input type="checkbox" data-administration="" data-dosage="" data-date="" disabled checked/>
<input type="checkbox" data-administration="" data-dosage="" data-date="" checked/>
<input type="checkbox" data-administration="" data-dosage="" data-date=""/>
似乎很好,但当我尝试获得这样的值时:
for (var index = 0; index < dosages.size(); index++) {
console.log(dosages[index].data('date'));
}
for(var index=0;index
我得到一个“数据不是函数”错误。
console.log(剂量[指数]);返回此表单中的元素:
<input type="checkbox" data-date="21.10.2014" data-dose="" data-administration="16" style="position: absolute; opacity: 0;">
有什么线索或建议可以更有效地执行此操作吗?这不起作用的原因是jQuery对象中可执行的元素是原始dom节点,而不是单独的jQuery元素。您可以使用
dosages.eq(index)
为每个对象获取一个jQuery对象,但不需要它
如果使用原始元素,则可以通过元素.dataset
对象而不是元素.data()
函数来访问数据属性,该函数是jQuery构造
或者,使用getAttribute
代替数据API在任何地方都可以工作,即使在古代的浏览器中也是如此。不需要jQuery
for (var index = 0; index < dosages.size(); index++) {
console.log(dosages[index].getAttribute('data-date'));
}
for(var index=0;index
这不起作用的原因是jQuery对象中可iterable的元素是原始dom节点,而不是单独的jQuery元素。您可以使用dosages.eq(index)
为每个对象获取一个jQuery对象,但不需要它
如果使用原始元素,则可以通过元素.dataset
对象而不是元素.data()
函数来访问数据属性,该函数是jQuery构造
或者,使用getAttribute
代替数据API在任何地方都可以工作,即使在古代的浏览器中也是如此。不需要jQuery
for (var index = 0; index < dosages.size(); index++) {
console.log(dosages[index].getAttribute('data-date'));
}
for(var index=0;index
这不起作用的原因是jQuery对象中可iterable的元素是原始dom节点,而不是单独的jQuery元素。您可以使用dosages.eq(index)
为每个对象获取一个jQuery对象,但不需要它
如果使用原始元素,则可以通过元素.dataset
对象而不是元素.data()
函数来访问数据属性,该函数是jQuery构造
或者,使用getAttribute
代替数据API在任何地方都可以工作,即使在古代的浏览器中也是如此。不需要jQuery
for (var index = 0; index < dosages.size(); index++) {
console.log(dosages[index].getAttribute('data-date'));
}
for(var index=0;index
这不起作用的原因是jQuery对象中可iterable的元素是原始dom节点,而不是单独的jQuery元素。您可以使用dosages.eq(index)
为每个对象获取一个jQuery对象,但不需要它
如果使用原始元素,则可以通过元素.dataset
对象而不是元素.data()
函数来访问数据属性,该函数是jQuery构造
或者,使用getAttribute
代替数据API在任何地方都可以工作,即使在古代的浏览器中也是如此。不需要jQuery
for (var index = 0; index < dosages.size(); index++) {
console.log(dosages[index].getAttribute('data-date'));
}
for(var index=0;index
这是因为您正在对DOM元素而不是jQuery对象调用.data
(jQuery函数)
改变
dosages[index].data('date')
到
旁白
您提供的代码也可以进行重构,以使用jQuery的每个(如果需要):
这是因为您正在对DOM元素而不是jQuery对象调用.data
(jQuery函数)
改变
dosages[index].data('date')
到
旁白
您提供的代码也可以进行重构,以使用jQuery的每个(如果需要):
这是因为您正在对DOM元素而不是jQuery对象调用.data
(jQuery函数)
改变
dosages[index].data('date')
到
旁白
您提供的代码也可以进行重构,以使用jQuery的每个(如果需要):
这是因为您正在对DOM元素而不是jQuery对象调用.data
(jQuery函数)
改变
dosages[index].data('date')
到
旁白
您提供的代码也可以进行重构,以使用jQuery的每个(如果需要):
使用括号表示法在给定索引处检索对象,检索的是DOM节点,而不是jQuery对象;您需要使用eq()
:
老实说,您可以更轻松地执行此操作,同时避免for
循环:
dosages.each(function () {
console.log($(this).data('date'));
});
如果要检索这些值的数组:
var dates = dosages.map(function () {
return $(this).data('date');
}).get();
使用括号表示法在给定索引处检索对象,检索的是DOM节点,而不是jQuery对象;您需要使用eq()
:
老实说,您可以更轻松地执行此操作,同时避免for
循环:
dosages.each(function () {
console.log($(this).data('date'));
});
如果要检索这些值的数组:
var dates = dosages.map(function () {
return $(this).data('date');
}).get();
使用括号表示法在给定索引处检索对象,检索的是DOM节点,而不是jQuery对象;您需要使用eq()
:
老实说,您可以更轻松地执行此操作,同时避免for
循环:
dosages.each(function () {
console.log($(this).data('date'));
});
如果要检索这些值的数组:
var dates = dosages.map(function () {
return $(this).data('date');
}).get();
使用括号表示法在给定索引处检索对象,检索的是DOM节点,而不是jQuery对象;您需要使用eq()
:
老实说,您可以更轻松地执行此操作,同时避免for
循环:
dosages.each(function () {
console.log($(this).data('date'));
});
如果要检索这些值的数组:
var dates = dosages.map(function () {
return $(this).data('date');
}).get();
您需要.eq()
for(var index=0;index
您需要.eq()