6

我在 html 代码中有这个单选按钮:

<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做到这一点?

谢谢你!

4

4 回答 4

8

你可以使用removeAttr

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

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

在JsFiddle中查看演示

于 2012-05-08T11:59:11.850 回答
6
$('input[name="item[shipping]"]').on('click', function() {
   if ($(this).val() === 'true') {
      $('#item_shipping_cost').removeProp("disabled");
   }
   else {
      $('#item_shipping_cost').prop("disabled", "disabled");
   }
});
于 2012-05-08T12:00:38.887 回答
3

你想像这样使用 JavaScript:

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

这是您案例的完整示例

于 2012-05-08T12:00:43.610 回答
1

这里有一个

演示

. 我想这会对你有所帮助

于 2012-05-08T12:07:10.113 回答