当用户在文本区域中输入文本时,我需要禁用复选框,否则它将处于活动状态。我尝试过最相关的活动,但我无法让它发挥作用。 onkeydown禁用第一次按下并且onchange将在用户输入内容然后删除它时起作用。在他们离开文本区域后似乎没有禁用它。
<script type="text/javascript">
function enable_cb(textarea) {
if ($(textarea).val() != "" ) {
$("input.cmb").removeAttr("disabled");
}
else {
$("input.cmb").attr("disabled", true);
}
}
</script>
Comments:<br />
<p><textarea name="issue" id="issue_ta" cols="50" rows="10" class="help" tabindex="2" title="Enter Detailed Description" onchange="enable_cb(this);"></textarea></p>
<p><input name="no_issue" type="checkbox" id="no_issue" class="cmb" />No Issues to Report</p>
<p class="label">Enter Current Vehicle Mileage:</p>
<p><input type="tel" name="record_mileage" class="required" tabindex="3" title=" Enter Current Mileage " size="25"/></p>
<p><input type="submit" name="Submit" value="Send"/></p>
</form>
答案 0 :(得分:3)
删除onclick处理程序并执行:
$(function() {
$("#issue_ta").on('change keyup', function() {
$("input.cmb").prop("disabled", this.value.length);
});
});
答案 1 :(得分:1)
此
$("input.cmb").attr("disabled", true);
应该是这个
$("input.cmb").attr("disabled", "disabled");
答案 2 :(得分:1)
为什么不为textArea使用blur事件..这将确保一旦textarea失去焦点就会执行代码..
试试这段代码..
// Your Markup..
Comments:<br />
<p><textarea name="issue" id="issue_ta" cols="50" rows="10" class="help" tabindex="2" title="Enter Detailed Description" ></textarea></p>
<p><input name="no_issue" type="checkbox" id="no_issue" class="cmb" />No Issues to Report</p>
<p class="label">Enter Current Vehicle Mileage:</p>
<p><input type="tel" name="record_mileage" class="required" tabindex="3" title=" Enter Current Mileage " size="25"/></p>
<p><input type="submit" name="Submit" value="Send"/></p>
// Your jQuery code..
$(function() {
$('#issue_ta').on('blur' , function(){
var val = $('#issue_ta').val();
if(val == ''){
$('#no_issue').attr('disabled', true);
}
else{
$('#no_issue').attr('disabled', false);
}
});
});
你可以查看这个小提琴,看一个有效的例子 http://jsfiddle.net/sushanth009/A46py/
答案 3 :(得分:1)
感谢所有人。每一个回应都让我朝着正确的方向前进。
<script type="text/javascript">
function enable_cb(textarea) {
if ($(textarea).val() !== "") {
$("input.cmb").prop("disabled", true);
}
else {
$("input.cmb").prop("disabled", false);
}
}
</script>
Comments:<br />
<p><textarea name="issue" id="issue_ta" cols="50" rows="10" class="help" tabindex="2" title="Enter Detailed Description" onblur="enable_cb(this);"></textarea></p>
<p><input name="no_issue" type="checkbox" id="no_issue" class="cmb" />No Issues to Report</p>
<p class="label">Enter Current Vehicle Mileage:</p>
<p><input type="tel" name="record_mileage" class="required" tabindex="3" title=" Enter Current Mileage " size="25"/></p>
<p><input type="submit" name="Submit" value="Send"/></p>
</form>
答案 4 :(得分:0)
“离开文本区域后似乎没有禁用它。”
.blur
在这种情况下会有所帮助 - 它会检测用户何时离开元素,然后您可以应用所需的效果。 .blur documentation