0

每当勾选单选按钮 3 时,我都试图摆脱选项值 2,这是我根据我在类似问题中看到的内容得到的,但它似乎对我不起作用。

有什么建议么?

<input name="options" type="radio" value="1" id="option1">
<input name="options" type="radio" value="2" id="option2">
<input name="options" type="radio" value="3" id="option3">

<select name="number" id="number">
<option value=""></option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option></select>

<script type="text/javascript">

    $(function(){
    $('#option3 input[type=radio][value=3]').attr('checked',true); 
        $("#number option[value='2']").remove()
});

</script>

非常感谢 :)

4

4 回答 4

2

您应该收听更改事件,目前您正尝试检查第三个单选按钮并删除 DOMReady 上的选项。

$(function(){
   $('input[name=options]').change(function(){
       if (this.id == 'option3') {
           $("#number option[value='2']").remove()
       }
   })
})​

http://jsfiddle.net/rDp24/

在某些浏览器中,您无法隐藏选项元素,您可以删除该选项并再次附加它,试试这个:

var option = '<option value="2">2</option>';
$('input[name=options]').change(function() {
    var $select = $("#number");
    if (this.id == 'option3') {
        $select.find("option[value='2']").remove()
    } else if (!$select.find("option[value='2']").length) {
        $select.append(option)
    }
})

http://jsfiddle.net/zszqs/

于 2012-09-25T05:03:18.387 回答
1

您可以使用

$('#option3').change(function(){
     if ($(this).is(':checked')) {
                $("#number option[value='2']").remove();
            }
   });
});

它将删除该值

于 2012-09-25T05:01:44.837 回答
0

它会为你工作

$("#number option[value='2']").val('');
于 2012-09-25T05:03:15.737 回答
0

http://jsfiddle.net/m3K2c/

这里有一个变体版本。

选择单选按钮option3hide选项

选中其他单选按钮 ( option1& option2) 将show再次选择该选项。

于 2012-09-25T05:23:09.470 回答