我有多个带有可变数据属性的输入字段,每个输入字段都有一个相应的按钮。我试图检查并查看每个输入字段中是否有值。如果有,则相应按钮的颜色会发生变化。但我无法引用数据属性。这就是我的......
HTML:
<td>
<textarea data-id="<%= textID %>"></textarea>
</td>
<td>
<input type="button" data-id="<%= textID %>"/>
</td>
TextID是变量。我想使用data-id的原因是因为表中有很多行,这是最干净的方法。
jQuery的:
var text = $.trim($('textarea[data-id="' + textID + '"')).val(),
button = $('input[type=button][data-id="' + textID + '"]');
if (text.length !== 0) {
$(button).css('background-color','white');
}
这不起作用,我有一种直觉,我错误地引用它或者语法有问题。感谢任何帮助,谢谢!
答案 0 :(得分:2)
var text = $.trim($('textarea[data-id="' + textID + '"')).val(),
button = $('input[type=button][data-id="' + textID + '"]');
if (text.length !== 0) {
$(button).css('background-color','white');
}
你在第一行有错误,你错过了结束,它应该是
var text = $.trim($('textarea[data-id="' + textID + '"]').val())
答案 1 :(得分:2)
首先,你在textarea选择器中缺少一个结束括号:
$('textarea[data-id="' + textID + '"]')
// ^
其次,你是trim()
jquery对象,而不是值:
$.trim($('textarea[data-id="' + textID + '"]') .val())
// move paren ^------^
答案 2 :(得分:0)
试试这个jQuery:
var text = $.trim($('textarea[data-id="' + textID + '"]').val()),
button = $('input[type=button][data-id="' + textID + '"]');
if (text.length !== 0) {
$(button).css('background-color','white');
}