2013-03-11 2 views
0

Я хочу отключить поле выбора, если доступна бесплатная доставка.Отключить выбор входа, если существует значение параметра

<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> 

Я попытался это (не зная, что это будет работать):

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

А потом предполагая по форме представить:

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

Так что, если кто-то выбирает свободную перевозку груза от этого выберите поле, все поле выбора должно стать инвалидом? Это не имеет большого смысла. – j08691

+0

Нет, поэтому, когда клиент достигает порога заказа, он получает бесплатную доставку, но цикл не удаляет другие способы доставки. – Ahhhhhhhhhhhhhdfgbv

+0

О чем вы говорите? – j08691

ответ

1

Вы можете использовать $.has

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

Демо: Fiddle

1

выберите выберите

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

'attr' не рекомендуется для изменения свойств среды выполнения, таких как' disabled' или 'checked' вместо этого использовать' props() ' –

Смежные вопросы