2012-05-08 50 views
5

我在HTML代码本单选按钮选中:使输入字段如果单选按钮被与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> 

和我有1个禁用字段等:

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

我想的是,如果用户在单选按钮中点击选项是是,将html属性disabled="disabled"移除到最后一个输入字段,并且如果用户在单选按钮中点击选项,则添加属性disabled="disabled"到最后一个输入字段

我该如何使用jquery?

谢谢!

回答

7

可以使用removeAttr

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

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

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

看到演示中,你想使用JavaScript这样的:

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

这是完全example您案件。

+0

谢谢你这javascript代码工作正常:D – hyperrjas

0

这是一个

DEMO

。我认为这会帮助你

+0

输入不禁用时点击否 – Wilf

+0

您的解决方案不起作用。 – Zl3n

相关问题