大家晚上好
我正在使用jquery-plugin有下一行代码:
UNIQUE()
我的代码中的var problem = ["<h1>","<h1>"];
return '<td>' + field.setValue(field.html, content)[0].outerHTML + '</td>';
代码的结果如下:
setValue
但是,我希望得到以下
field_templates: {
'number': {
html: '<input type="number" name="monday-start">',
getValue: function (input) {
return $(input).val();
},
setValue: function (input, value) {
if (value) {
return $(input).val('66').addClass('setValue').data('dtv-val', 555);
}
return $(input).val('');
}
}
},
请告诉我哪里错了?我不明白的是什么?如何让<input type="number" name="monday-start" class="setValue">
要求我属性?我还不足以了解JavaScript,因为我很乐意获得JS文档的链接,其中描述了我的问题理论
答案 0 :(得分:1)
使用.data()
方法会将键值对存储到匹配的元素而不会影响其html部分,您必须使用.attr():
这一行:
return $(input).val('66').addClass('setValue').data('dtv-val', 555);
将其更改为:
return $(input).val('66').addClass('setValue').attr('dtv-val', 555);
答案 1 :(得分:1)
<强> .val() 强>
其中包含.val('66')
val 66,就像您输入了某些内容,而不是属性value
本身;
.addClass('setValue')
会添加一个名为&#39; setValue&#39;的类,它没问题;和
.data('dtv-val', 555)
它不会以这种方式改变任何内容,请阅读API以获取更多信息。
.attr()是您正在搜索的内容:
$('#ipt').attr('value','66').attr('class','setValue').attr('data-dtv-val', '555');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="ipt">
&#13;
(如果需要,您可以将.attr('class', 'setValue')
更改为.addClass('setValue')
答案 2 :(得分:0)
你可能正在得到你想要的东西,但它看起来并不像你期望的那样。
使用jQuery,它不会将数据元素放入HTML中。它只是以一种隐藏的方式存储它。
但是,如果您再次获取该元素并检查其数据,您会发现它实际上存在。
console.log($('[name="monday-start"]').data('dtv-val'))