选择下拉列表的某个值时,请更改不同的下拉选项

时间:2011-11-07 20:37:22

标签: jquery

我需要检查用户是否在下拉菜单中选择了某个值。如果选择了该值,我需要它来更改另一个下拉菜单的选择。

这是第一个下拉列表的html。如果选择季度,我需要在第二个下拉菜单中选择季度。如果选择了其他任何内容,则不会有任何变化。

<select id="frequency" name="frequency">
  <option selected="selected" value="">Select One</option>
  <option value="Monthly">Monthly</option>
  <option value="Quarterly">Quarterly (1 Year Minimum, 4 deliveries)</option>
</select>


   <select id="MonthPlan" name="MonthPlan">
      <option selected="selected" value="">Select One</option>
      <option value="3Months">3 Months</option>
      <option value="6Months">6 Months</option>
      <option value="9Months">9 Months</option>
      <option value="12Months">12 Months</option>
      <option value="Quarterly">Quarterly (1 Year Minimum, 4 deliveries)</option>
    </select>

4 个答案:

答案 0 :(得分:3)

$('#frequency').change(function(){
    if($(this).val() === 'Quarterly'){
        $('#MonthPlan').val('Quarterly');
    }
});

这是代码的jsFiddle

答案 1 :(得分:1)

查看http://jsfiddle.net/fQZwb/

或只是jQuery代码:

$(document).ready(function(){

var frequency = $('#frequency');
var MonthPlan = $('#MonthPlan');

frequency.bind("change", function(){
    if ($(this).val() == 'Quarterly') {
       MonthPlan.find('option[value="Quarterly"]').attr('selected', 'selected');
    } else {
       MonthPlan.find('option[value=""]').attr('selected', 'selected'); 
    } 
});

});

答案 2 :(得分:1)

您只根据一个值(季度)询问了匹配项,但如果将来您可能会添加其他可能导致自动选择的项目,则可以避免硬编码并使用以下内容:

$('#frequency').change(function() {
    var frequency = this.value;
    $('#MonthPlan option').each(function() {
        if (this.value === frequency) {
            $('#MonthPlan').val(this.value);
        }
    });
});

另外,如果匹配,我可以看到您决定禁用第二次下拉,在这种情况下,您可以使用此添加:

$('#frequency').change(function() {
    var frequency = this.value;
    $('#MonthPlan option').each(function() {
        var monthPlan = $('#MonthPlan');
        monthPlan.removeAttr('disabled');

        if (this.value === frequency) {
            monthPlan.val(this.value);
            monthPlan.attr('disabled', 'disabled');
        }
    });
});

供参考:the jsFiddle of this method

答案 3 :(得分:0)

类似的东西:

<select id="frequency" name="frequency" onChange="selectChange()">

在javascript中:

function selectChange()
{
    if($("#frequencyoption:selected").val() == "Quarterly")
        $("#frequencyoption").val("Quarterly");

}