Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 来自复选框的数据值_Javascript_Jquery_Checkbox - Fatal编程技术网

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()