根据选定的单选按钮添加/删除下拉选项

时间:2016-03-05 17:27:32

标签: javascript jquery html

我现在尝试了一段时间,在这里和其他网站上搜索过。

我在http://jsfiddle.net/zszqs/

找到了某种解决方案

但是当我在我的代码上尝试它时,在我的实际页面上,它只是不起作用。如果我将所有代码更改为我的代码,它会在示例网站中执行。

<input name="documenttype" type="radio" required id="dType1" value="Pro-Forma">Pro-Forma
<input name="documenttype" type="radio" required id="dType2" value="Invoice">Invoice

<select name="paymentmethod" required id="paymentmethod">
<option value="" default selected>Select...</option>
<option value="TT">Online Bank Transfer</option>
<option value="PP">PayPal</option>
<option value="CC">Credit Card</option>
</select>

基本上我想在选择收音机Pro-Forma选项时删除信用卡选项,或者如果用户将收音机更改为发票,则将其再次取回...

<script>
var option = '<option value="CC">Credit Card</option>';
$('input[name=documenttype]').change(function() {
    var $select = $("#paymentmethod");
    if (this.id == 'dType1') {
        $select.find("option[value='CC']").remove()
    } else if (!$select.find("option[value='CC']").length) {
        $select.append(option)
    }
})
</script>

我觉得我没有在页面加载时收取代码,或类似的东西。 我对jquery很新,所以我可能错过了,我不知道,在哪里放<script>(头部或身体?)或者我必须指定一些onLoad选项。< / p>

1 个答案:

答案 0 :(得分:1)

使用jquery的脚本代码

$(document).ready(function ()
            {
                $(".documenttype").click(function ()
                {
                        $("option[value='CC']").css("display", $('#dType1').is(":checked") ? "none" : "block");

                });

});

HTML代码

<input class="documenttype" name="documenttype" type="radio" required id="dType1" value="Pro-Forma">Pro-Forma
            <input class="documenttype" name="documenttype"  type="radio" required id="dType2" value="Invoice">Invoice**
            <select name="paymentmethod" required id="paymentmethod">
                <option value="" default selected>Select...</option>
                <option value="TT">Online Bank Transfer</option>
                <option value="PP">PayPal</option>
                <option value="CC">Credit Card</option>
            </select>