我有两个下拉列表,如下面的JSFiddle所示:

https://jsfiddle.net/jkw8fxzf/4/

HTML:

<select id="first-choice">
   <option value="English">English</option>
   <option value="Spanish">Spanish</option>
 </select>

<select id="second-choice">
   <option value="Spanish">Spanish</option>
   <option value="English">English</option>
 </select>


JS:

$("#first-choice").change(function() {
    var userSelected = $(this).val()
    alert(userSelected);
});


我要尝试的操作如下:如果用户的第一选择是英语,则在第二选择下拉列表中仅显示西班牙语作为选项。如果用户的第一选择是西班牙语,则在第二选择下拉列表中仅显示英语。

关于如何执行此操作的任何想法。通常,我会使用AJAX请求,然后在控制器中捕获用户选择的参数,但是由于这是一个devises注册控制器,因此在覆盖它方面存在问题。

最佳答案

如果我理解您的问题,请使用此功能。这简单:
https://jsfiddle.net/sherali/jkw8fxzf/12/

var $secondOption= $('#second-choice>option').clone();

$("#first-choice").change(function() {
    var userSelected = $(this).val();

    $('#second-choice').html($secondOption);

   // $("#second-choice").val(userSelected)
    $('#second-choice option[value="'+userSelected+'"').remove()
});

10-05 20:31
查看更多