选择下拉列表无法触发jquery功能

时间:2017-11-29 02:08:53

标签: javascript jquery

当选择Y时,两个输入字段都应显示"已完成"当用户选择" N"时,两个输入字段都应为空白但由于某种原因代码失败,任何想法。非常感谢



if($('.finished1').val(''))
{
	$('.finished').val('');
	
}

else if($('.finished1').val('Y'))
{
	$('.finished').val('completed');
	
}
else{
	$('.finished').val('');
	
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<select  class="finished1">
<option value="" ></option>
<option value="Y" > Y</option>
<option value="N" > N</option>
</select>

<table>
<td><input type="text" class="finished"></td>
<td><input type="text" class="finished"></td>
</table>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:2)

试试此代码JSFiddle

$('.finished1').on('change',function(){
   if($(this).val() == 'N' || $(this).val() == ''){
     $('.finished').val('');
   }else{
     $('.finished').val('completed');
   }
});

答案 1 :(得分:2)

您首先需要通过change事件处理程序评估选择框的值,然后您可以使用switch语句来确定从那里做什么。

$(function() {
  $('.finished1').on('change', function() {
    switch (this.value) {
      case 'Y':
        $('.finished').val('completed');
        break;
      case 'N':
      case: '':
        $('.finished').val('');
        break;
      default:
        //
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

<select class="finished1">
  <option value="" ></option>
  <option value="Y" > Y</option>
  <option value="N" > N</option>
</select>

<table>
  <td><input type="text" class="finished"></td>
  <td><input type="text" class="finished"></td>
</table>

答案 2 :(得分:2)

您应该使用jquery的Change API来捕获选择输入中的任何更改,然后您可以检查所选值并做出相应的响应

$('.finished1').on('change', function(){
  if($(this).val() == 'Y')
    $('.finished').val('completed');
  else
    $('.finished').val('');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<select  class="finished1">
<option value="" ></option>
<option value="Y" > Y</option>
<option value="N" > N</option>
</select>

<table>
<td><input type="text" class="finished"></td>
<td><input type="text" class="finished"></td>
</table>

答案 3 :(得分:1)

您应该使用一个能够检测下拉列表中所选项目的更改的函数。

如果检测到它,它将再次检查值,如果需要将其更改为所选内容。

$(function () {
    $('.finished1').change(function () {
         if($('.finished1').val(''))
         {
         $('.finished').val('');    
         }
         else if($('.finished1').val('Y'))
         {
         $('.finished').val('completed');   
         }
         else{
         $('.finished').val('');    
         }
    });
});