我是新來查詢。每行有多個輸入元素,包括提交圖像按鈕。如果在該行中有任何空輸入值,我想在輸入時禁用保存按鈕。我成功了遵循代碼。這是正確的方法嗎?有沒有更好的方法?驗證所有使用jquery的表哥輸入元素
在此先感謝
$(':text').bind('input propertychange', function() {
var valid = true;
var $this=$(this).parent().parent().children('td').children(':text');
$this.each(function() {
if(!$(this).val()) {
valid = false;
}
});
if(!valid)
{
$(this).parent().parent().children('td').children(':image').attr('src', 'image/savedisabled.png');
$(this).parent().parent().children('td').children(':image').prop('disabled', true);
}
else
{
$(this).parent().parent().children('td').children(':image').attr('src', 'image/save.png')
$(this).parent().parent().children('td').children(':image').prop('disabled', false);
}
});
<table>
<tbody>
<form action="" method="post">
<tr>
<td><input type="text" name="id" value="1" size="4"/></td>
<td><input type="text" name="name" value="Test 1" size="50"/></td>
<td><input type="text" name="year" value="1415" size="10"/></td>
<td><input type="checkbox" name="readonly" value="1" checked></td>
<td><input type="image" name="save_submit" src="image/savedisabled.png" height="13" alt="Submit"></td>
</tr>
</form>
<form action="" method="post">
<tr>
<td><input type="text" name="id" value="2" size="4"/></td>
<td><input type="text" name="name" value="Test 2" size="50" /></td>
<td><input type="text" name="year" value="1415" size="10" /></td>
<td><input type="checkbox" name="readonly" value="1" ></td>
<td><input type="image" name="save_submit" src="image/save.png" height="13" alt="Submit" ></td>
</tr>
</form>
<form action="" method="post">
<tr>
<td><input type="text" name="id" value="3" size="4"/></td>
<td><input type="text" name="name" value="Test 3" size="50" /></td>
<td><input type="text" name="year" value="1415" size="10" /></td>
<td><input type="checkbox" name="readonly" value="1" ></td>
<td><input type="image" name="save_submit" src="image/save.png" height="13" alt="Submit" ></td>
</tr>
</form>
<form action="" method="post">
<tr>
<td><input type="text" name="id" value="4" size="4"/></td>
<td><input type="text" name="name" size="50"/></td>
<td><input type="text" name="year" value="1415" size="10"/></td>
<td><input type="checkbox" name="readonly" value="1"></td>
<td><input type="image" name="save_submit" src="image/savedisabled.png" height="13" alt="Submit"></td>
</tr>
</form>
</tbody>
</table>
謝謝您的答覆。我怎樣才能做到相同的其他元素複選框,並選擇選項$(':text',':checkbox','select').on('???',function(){} – user3785931 2014-11-09 08:32:40
您可以使用on keyup對於文本輸入和對選擇和複選框的更改,還應該只有一個選擇器參數打開,這意味着$(':checkbox,select')。on('change',function({...})); – 2014-11-10 00:08:14