【发布时间】:2011-11-15 16:51:07
【问题描述】:
我想切换两个单选按钮并根据选择的单选按钮选择字段。我有 jQuery 工作,但想知道是否有办法让它更有效。对于我要实现的简单目标,似乎有很多行。以下是要求: 当页面加载时,#aircraftType 应该被选中并且#aircraftModelSelect 应该是灰色的(现在,“选中”被 Firefox 忽略了)。 如果用户单击#aircraftType 或#aircraftModel,则应禁用相反的选择字段(如果选中#aircraftModel,则应禁用#aircraftTypeSelect,反之亦然)。感谢您对优化此代码的任何帮助。
jsfiddle 上也有代码:http://jsfiddle.net/JuRKn/
$("#aircraftType").attr("checked");
$("#aircraftModel").removeAttr("checked");
$("#aircraftModelSelect").attr("disabled","disabled").addClass("disabled");
$("#aircraftType").click(function(){
$("#aircraftModelSelect").attr("disabled","disabled").addClass("disabled");
$("#aircraftTypeSelect").removeAttr("disabled").removeClass("disabled");
});
$("#aircraftModel").click(function(){
$("#aircraftTypeSelect").attr("disabled","disabled").addClass("disabled");
$("#aircraftModelSelect").removeAttr("disabled").removeClass("disabled");
});
HTML
<div class="aircraftType">
<input type="radio" id="aircraftType" name="aircraft" checked />
<label for="aircraftType">Aircraft Type</label>
<select size="6" multiple="multiple" id="aircraftTypeSelect" name="aircraftType">
<option value="">Light Jet</option>
<option value="">Mid-Size Jet</option>
<option value="">Super-Mid Jet</option>
<option value="">Heavy Jet</option>
<option value="">Turbo-Prop</option>
</select>
</div>
<div class="aircraftModel">
<input type="radio" id="aircraftModel" name="aircraft" />
<label for="aircraftModel">Aircraft Model</label>
<select size="6" multiple="multiple" id="aircraftModelSelect" name="aircraftModel">
<option value="">Astra SP</option>
<option value="">Beechjet 400</option>
<option value="">Beechjet 400A</option>
<option value="">Challenger 300</option>
<option value="">Challenger 600</option>
<option value="">Challenger 603</option>
<option value="">Challenger 604</option>
<option value="">Challenger 605</option>
<option value="">Citation Bravo</option>
</select>
</div>
【问题讨论】:
标签: jquery forms radio-button