2012-05-08 7 views
5

Tôi có điều này nút radio trong mã html:phép lĩnh vực đầu vào nếu nút radio được kiểm tra với jquery

<span><input type="radio" value="false" name="item[shipping]" id="item_shipping_false" checked="checked"><label for="item_shipping_false" class="collection_radio_buttons">No</label></span> 

<span><input type="radio" value="true" name="item[shipping]" id="item_shipping_true"><label for="item_shipping_true" class="collection_radio_buttons">Yes</label></span> 

và tôi có 1 lĩnh vực khuyết tật như:

<input id="item_shipping_cost" class="currency optional" type="text" size="30" name="item[shipping_cost]" disabled="disabled"> 

Tôi muốn rằng nếu một người sử dụng nhấp vào tùy chọn trong nút radio, xóa thuộc tính html disabled="disabled" thành trường nhập cuối cùng này và nếu người dùng nhấp vào tùy chọn Số trong nút radio thêm thuộc tính disabled="disabled" đến trường nhập cuối cùng này

Tôi có thể làm điều đó bằng jquery như thế nào?

cảm ơn bạn!

Trả lời

7

bạn có thể sử dụng removeAttr

$('#item_shipping_true').click(function() 
{ 
    $('#item_shipping_cost').removeAttr("disabled"); 
}); 

$('#item_shipping_false').click(function() 
{ 
    $('#item_shipping_cost').attr("disabled","disabled"); 
}); 

xem demo tại JsFiddle

3
$('input[name="item[shipping]"]').on('click', function() { 
    if ($(this).val() === 'true') { 
     $('#item_shipping_cost').removeProp("disabled"); 
    } 
    else { 
     $('#item_shipping_cost').prop("disabled", "disabled"); 
    } 
}); 
2

Bạn muốn sử dụng JavaScript như thế này:

$('#item_shipping_false').change(function() { 
     $('#item_shipping_cost').prop('disabled', false); 
    }); 
    $('#item_shipping_true').change(function() { 
     $('#item_shipping_cost').prop('disabled', true); 
    }); 

này hoàn tất example của bạn trường hợp.

+0

Cảm ơn bạn cho mã javascript này hoạt động tốt: D – hyperrjas

0

Dưới đây là một số

DEMO

. Tôi nghĩ điều này sẽ giúp bạn

+0

đầu vào không tắt khi nhấp vào không – Wilf

+0

Giải pháp của bạn không hoạt động. – Zl3n