我正在使用以下函数来更改表单列中的填充:
function padTitles() {
$('#option-grid #dataTable tr,#topic-grid #dataTable tr')
.each(function () {
var tds = $(this).find('input'),text = tds.filter('[id^="input_TempRowKey_"]').val(),tdToPad = tds.filter('[id^="input_Title_"]'),pad;
if (/\.0$/.test(text)) {
pad = 10;
level = 1;
} else {
pad = 35;
level = 2;
}
tdToPad.css('margin-left',pad);
a = tdToPad.closest('tr');
if (tdToPad.closest('tr').get().className) {
tdToPad.closest('tr').get().className = tdToPad.closest('tr').get().className.replace(/\blevel\-.*?\b/g,'level-' + level);
} else {
tdToPad.closest('tr').addClass('level-' + level)
}
});
}
这对HTML表单很有效:
<td id="title_1" class=" "> <input type="text" value="Tests" name="item.Title" id="input_Title_1" > </td>
现在我也希望它适用于以下HTML:
<td id="title_1" class=" "> <textarea name="item.Title" id="input_Title_1">Tests</textarea> </td>
有没有办法我可以改变这个功能,所以它适用于输入或textarea?我假设这样做是为了更改var tds = $(this).find(‘input’),但是我不知道如何更改它,或者即使可以更改为“查找”textarea或输入。
解决方法
使用逗号联合多个查询:
var tds = $(this).find('input,textarea');
您也可以使用:输入作为选择器,但效率不高,也可能包含您不希望包含的内容。