如何使用jquery正确禁用和启用表单元素。我点击选择时需要禁用文本表单元素。反之亦然。
<html>
<head>
<script src="jq.js"></script>
<script>
$(function(){
$('#fromdate').click(function(){
$('#yosh').attr('disabled','disabled');
$('#fromdate').removeAttr('disabled');
});
$('#yosh').click(function(){
$('#yosh').removeAttr('disabled');
$('#fromdate').attr('disabled','disabled');
});
});
</script>
</head>
<body>
Sort by:
<select name="yosh" id="yosh">
<option value="daily">daily</option>
<option value="weekly">yesterday</option>
<option value="weekly">weekly</option>
<option value="monthly">monthly</option>
<option value="yearly">yearly</option>
</select><br/>
date range:<br/>
From:<input type="text" value="" name="fromdate" id="fromdate"></input><br/>
To:<input type="text" value="" name="todate" id="todate"></input><br/>
Customer:<input type="text" value="" name="customer" id="customer"></input>
</body>
</html>
答案 0 :(得分:18)
我在评论中写的内容示例:
<span id="spnSel">
<select name="yosh" id="yosh">
<option value="daily">daily</option>
<option value="weekly">yesterday</option>
<option value="weekly">weekly</option>
<option value="monthly">monthly</option>
<option value="yearly">yearly</option>
</select>
</span>
添加此活动:
$('#spnSel').mouseover(function () {
$('#yosh').prop('disabled', false);
});
您也可以为文本框执行此操作。这可能不是最好的解决方案/方法,但它可以完成这项工作。
答案 1 :(得分:13)
语法是
$('formelement').attr('disabled',true);
或重新启用
$('formelement').removeAttr('disabled');
答案 2 :(得分:2)
看看这个......
<script>
$(function(){
$('#fromdate').click(function(){
$('#yosh').attr('disabled',true);
$('#fromdate').removeAttr('disabled');
});
$('#yosh').click(function(){
$('#yosh').removeAttr('disabled');
$('#fromdate').attr('disabled',true);
});
});
</script>
答案 3 :(得分:0)
我测试你的代码,我得出的结论是,当元素被禁用时你不能添加事件,所以你必须使用触发器......
答案 4 :(得分:-1)
$('#fromdate').disabled = false