2014-01-14 139 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

相關問題