简体   繁体   English

如果存在选项值,则禁用选择输入

[英]Disable select input if option value exists

I want to disable the select box if Free Shipping is available. 如果有免费送货,我想禁用选择框。

<select name="shipping_method" id="shipping_method">
    <option value="">Select shipping</option>
    <option value="free_shipping">Free Shipping</option>
    <option value="international_delivery">International: $30.00</option>
</select>

I've tried this (without knowing if it would work): 我试过这个(不知道它是否会起作用):

$(document).ready(function(){
    if($("option").val() == "free_shipping") {
        $("select").prop("disabled");
    }
});

And then assuming on form submit: 然后假设在表单提交:

$(document).ready(function(){
    $("form").submit(function() {
        $("select", this).prop("disabled", false);
    });
});

select the select 选择选择

$('#shipping_method').change(function(){
    var j = $(this);
    if(j.val() == 'free_shipping') {
        j.attr('disabled', true);
    }    
    else {
        j.removeAttr('disabled');
    }
}).trigger('change');

You can use $.has 你可以使用$ .has

$('#shipping_method').has('option[value="free_shipping"]').prop("disabled", true);

Demo: Fiddle 演示: 小提琴

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM