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

変更イベントをリッスンする必要があります。現在、3番目のラジオボタンをチェックして、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/

こちらのバリエーションバージョン。

ラジオボタンをoption3選択するとhide、オプションになります

他のラジオボタン(option1option2)を選択するとshow、オプションが再び選択されます。

于 2012-09-25T05:23:09.470 に答える