3

当我从下拉列表中选择某个值或用户未从下拉列表中选择任何值时,我需要取消选中我的复选框。我目前正在使用 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" />
4

3 回答 3

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"/>

这是一个小提琴

于 2013-02-05T02:55:11.590 回答
0

您需要将调用实际绑定sdp4到某些东西:

$("#drop1").on('change', sdp4);

那时,#drop1当您可以使用this.

于 2013-02-05T02:34:33.733 回答
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);
   });
});
于 2013-02-05T02:59:24.907 回答