在表中,我有一行有兩個輸入 - 一個選擇和一個文本。我想實現的是,如果有一個值,那麼另一個(在同一行)應該禁用。這可以正常工作onload當文本框中有一個值時,但只有在選擇框中有值時才起作用。jQuery - 禁用基於同一行上的另一個元素選擇
正如你可以在這裏看到的例子:http://jsfiddle.net/anAgent/UBUhn/1/「change」事件正常工作,但它不起作用onload。
任何幫助將大大感激!
我用jQuery 1.5.2,並與谷歌瀏覽器和IE9
更新工作有了終極密碼
感謝@scoopseven和@eicto您的輸入。基於這兩個答案,這裏是最終的代碼。我希望它能幫助別人。
$(document).ready(function() {
$(".validation-compare").change(runRowValidation);
$(".validation-compare").each(runRowValidation);
});
function runRowValidation() {
var $me = $(this),
$other = $('.validation-compare',$me.closest("tr")).not($me),
mVal = $me.val(),
oVal =$other.val();
if(mVal != "" && oVal == "") {
$me.removeAttr('disabled');
$other.attr('disabled',1);
} else if(mVal == "" && oVal != "") {
$other.removeAttr('disabled');
$me.attr('disabled',1);
} else {
$other.removeAttr('disabled');
$me.removeAttr('disabled');
}
}
你可以看到它在行動:http://jsfiddle.net/anAgent/UBUhn/24/
onload事件已經設置和工作。我不希望點擊元素時觸發事件 - 只會改變。如何在有價值的情況下解決選擇問題? – anAgent 2012-07-31 13:53:16
$('#someelement')。change(myFunction); – scoopseven 2012-07-31 14:06:08