我有两个单选按钮和一个下拉框,如下所示。我想做的是: 1.当没有选中时,隐藏或灰显下拉框,和 2.选中是,显示下拉框。
任何指针都将不胜感激!
<td colspan="4">
<input name="discount" type="radio" id="Yes" value="Yes" />Yes
<input name="discount" type="radio" id="No" value="No" checked="checked" />No<br />
<select class="purple" name="discountselection" id="discountselection">
<option value="1 Year" selected="selected">1 Year</option>
<option value="2 Years">2 Years</option>
<option value="3 Years">3 Years</option>
</select>
</td>
答案 0 :(得分:18)
<script type="text/javascript">
$("#Yes").click(function() {
$("#discountselection").attr("disabled", false);
//$("#discountselection").show(); //To Show the dropdown
});
$("#No").click(function() {
$("#discountselection").attr("disabled", true);
//$("#discountselection").hide();//To hide the dropdown
});
</script>
此外,根据页面加载时选择的默认单选按钮,在HTML中设置下拉列表的显示样式或禁用属性。
<select name="discountselection" id="discountselection" disabled="disabled">
<option value="1 Year" selected="selected">1 Year</option>
<option value="2 Years">2 Years</option>
<option value="3 Years">3 Years</option>
</select>
答案 1 :(得分:3)
$('input:radio[name="discount"]').change(function() {
if ($(this).val()=='Yes') {
$('#discountselection').attr('disabled',true);
} else
$('#discountselection').removeAttr('disabled');
});
答案 2 :(得分:2)
您需要将select
控件设置为disabled
并使用与此类似的代码:
$(function(){
$('input:radio[name=discount]').one('change', function(){
$('.purple').removeAttr('disabled');
});
});
答案 3 :(得分:1)
你可以用jQuery隐藏它:
$(document).ready(function(){
$('#discountselection').hide();
$('#No').click(function(){
$('#discountselection').hide();
});
$('#Yes').click(function(){
$('#discountselection').show();
});
});
检查一下: http://www.jsfiddle.net/cFUsU/
更新:添加$(document).ready();在页面准备就绪时开始将此代码设置为操作的方法
答案 4 :(得分:1)
$(function(){
$('input:radio').bind('change', function(){
$('#discountselection').attr('disabled', !$("#yes").is(":checked"));
});
});
答案 5 :(得分:1)
会这样做吗?
$('input:radio').bind('change', function(){
$('select').attr('disabled', $(this).val() == "No");
});
经过测试,效果很好。祝你好运。