2014-01-14 63 views
0

我想要做的是自动更改其他下拉菜单的基础上回答一个特定的选择|选项下拉菜单。在这种情况下,当主下拉列表更改为“更改”时,我希望其他下拉菜单找到“拒绝回答”选项。 (http://jsfiddle.net/sNZ5X/更改其他选项根据下拉列表

HTML

<h3>Main Select Dropdown 
    <select id="master"> 
     <option>Do Nothing</option> 
     <option>Change</option> 
    </select> 
</h3> 
<hr> 
<p class="important">Question 1 
    <select class="rta"> 
     <option>Answer 1</option> 
     <option>Answer 2</option> 
     <option>Refused to Answer</option> 
    </select> 
</p> 
<p class="required">Question 2 
    <select class="rta"> 
     <option>Answer 1</option> 
     <option>Answer 2</option> 
     <option>Refused to Answer</option> 
    </select> 
</p> 

JS

$("#master") 
    .change(function() { 
    var str = "Refusted to Answer"; 
    if $(master).selected = "Change" 
    $(".rta").change(str); 
    }) 
    .change(); 
+0

你想'.rta'换成什么?下拉的价值,还是什么? – Terry

回答

2

done, heres the FIDDLE

基本上你需要正确的测试值,并正确设置选定的值。你的字符串“拒绝回答”拼写错误,永远不会匹配。

$('#master').on('change', function() { 
    if (this.value == 'Change') { 
     $('.rta').val('Refused to Answer'); 
    } 

}); 
+0

谢谢。这是漫长的一天,今天的语法不在我身边。 – Macness

1

有一些问题,你的脚本(经常检查您的浏览器控制台):

  1. master没有定义。我想你的意思是$('#master')而不是$(master)
  2. .selected不是一个有效的方法。
  3. =用于分配。使用==比较
  4. 无效if声明 - 使用括号;)

这里的工作例如在JSFiddle

$("#master") 
    .change(function() { 
     if ($('#master option:selected').val() == "Change") 
      // Assuming that last child is always 'Refused to answer' 
      $('.rta option:last-child').prop('selected', true); 
    }) 
    .change(); 
+0

谢谢!我必须检查所有的下拉儿童,看看他们是否会成为最后的答案 - 如果是的话,这将很好地工作!谢谢你的提示。 – Macness

相关问题