此处http://jsfiddle.net/MFa6Q/放置了示例
有多个输入字段。
在每次更改输入字段(用户在输入字段中键入或删除)时,要检查特定行的所有其他输入字段。如果至少有一个输入字段被填充(非空),则更改另一个(隐藏)输入字段中的值。
这是我的代码
HTML
<table>
<tr id='row78'>
<td class="dropdown">
<select name="currency[]" id="currency78" class="row_changed78 row_changed_currency78">
<option value=""> </option>
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select>
</td>
<td><div style="width:80px; border:0px solid #F1F1F1;">
<input type='text' name='transaction_partner_registration_number[]' id='transaction_partner_registration_number78' class='row_changed78' value='' size='' style='width:80px;'>
</div></td>
<td>
<input type="text" name="is_row_changed[]" id="is_row_changed78" size="" value="" style='width:30px;'>
</td>
<td>
<input type="text" name="is_row_changed_not_empty[]" id="is_row_changed_not_empty78" size="" value="" style='width:30px;'>
</td>
</tr>
</table>
jquery的
<script>
$( document ).ready(function() {
$(".row_changed78").on("change", function () {
document.getElementById('is_row_changed78').value = 1;
});
$(".row_changed78").on("change", function () {
$(".row_changed78").find('input[type=text], select').each(function(){
if($(this).val() != "" ) {
document.getElementById('is_row_changed_not_empty78').value = 1;
}
});
});
});//document ready
</script>
对于必要的输入字段,我定义了class="row_changed78"
。并且jQuery检查输入字段中的值是否随class="row_changed78"
更改。如果值已更改,则需要检查该行的所有其他字段。如果至少填写了一个字段,则更改id="is_row_changed_not_empty78"
中的值。
id="is_row_changed78"
的所有工作(如果值已更改)。但不适用于id="is_row_changed_not_empty78"
。
答案 0 :(得分:1)
删除.find('input[type=text], select')
并且它有效。因为所有输入和选择都已经有row_changed78
类,所以.find()
变空。只使用:
$(".row_changed78").each(function () {
我的建议:
$(".row_changed78").on("change", function () {
var flag = '';
$(".row_changed78").each(function () {
if (this.value != "") {
flag = 1;
}
});
document.getElementById('is_row_changed_not_empty78').value = flag;
document.getElementById('is_row_changed78').value = 1;
});