在一个表中,我有一行有两个输入-一个选择框和一个文本框。我想实现的是,如果一个有值,那么另一个(在同一行上)应该禁用。当文本框中有值时,这可以正常工作onload
,但当只有选择框中有值时,似乎不起作用。
如您在此处的示例中所见:http://jsfiddle.net/anAgent/UBUhn/1/“change”事件工作正常,但它不工作onload
。
任何帮助都将不胜感激!
我正在使用jQuery 1.5.2以及Google Chrome和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/
3条答案
按热度按时间zbdgwd5y1#
我不认为你需要设置类
valid
,你所要做的就是替换由
这将解决onload上的问题。
hec6srdp2#
http://jsfiddle.net/UBUhn/22/
zpjtge223#
你需要分离出这个函数,并在点击事件和页面加载时调用它。