我需要检查用户是否在下拉菜单中选择了某个值。如果选择了该值,我需要它来更改另一个下拉菜单的选择。
这是第一个下拉列表的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>
答案 0 :(得分:3)
$('#frequency').change(function(){
if($(this).val() === 'Quarterly'){
$('#MonthPlan').val('Quarterly');
}
});
这是代码的jsFiddle。
答案 1 :(得分:1)
或只是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');
}
});
});
答案 3 :(得分:0)
类似的东西:
<select id="frequency" name="frequency" onChange="selectChange()">
在javascript中:
function selectChange()
{
if($("#frequencyoption:selected").val() == "Quarterly")
$("#frequencyoption").val("Quarterly");
}