当我从下拉列表中选择某个值或用户未从下拉列表中选择任何值时,我需要取消选中我的复选框。 我现在正在使用Jquery。 这是我现在使用的代码,但它不起作用。
脚本
<script src="js/jquery-1.8.3.js"></script>
<script>
function sdp4(str) {
if (
$('#drop1').val()!= ''
|| $('#drop1').val()== "In Process"
|| $('#drop1').val()== "KIV" )
{$('#checkbox1').prop('checked', false);}
else
{$('#checkbox1').prop('checked', true);}
</script>
HTML
<select class="form-dropdown" id="drop1" name="drop1" onchange="sdp4">
<option value=""> </option>
<option value="In Process"> In Process </option>
<option value="KIV"> KIV </option>
<option value="Completed"> Completed </option>
</select>
<input type="checkbox" checked="checked" id="checkbox1" name="checkbox1" />
答案 0 :(得分:2)
假设您选中复选框的唯一时间是选中完成后:
$("#drop1").on('change', function () {
var val = $(this).val();
if (val === " " || val === "In Process" || val === "KIV") {
$('#checkbox1').prop('checked', false);
return;
}
$('#checkbox1').prop('checked', true);
});
和html:
<select class="form-dropdown" id="drop1" name="drop1">
<option value=" "></option>
<option value="In Process">In Process</option>
<option value="KIV">KIV</option>
<option value="Completed">Completed</option>
</select>
<input type="checkbox" id="checkbox1" name="checkbox1"/>
这是FIDDLE
答案 1 :(得分:0)
您需要实际将对sdp4
的调用绑定到某些内容:
$("#drop1").on('change', sdp4);
此时,当您使用#drop1
时,在选择器中使用this
也是多余的。
答案 2 :(得分:0)
试试这个:http://jsfiddle.net/7cqDB/
function sdp4(str) {
if (str == '' || str == "In Process" || str == "KIV") {
$('#checkbox1').prop('checked', false);
} else {
$('#checkbox1').prop('checked', true);
}
}
$(function () {
$('select').on('change', function () {
var str = $(this).val();
sdp4(str);
});
});