为什么我的禁用命令不能在jQuery中运行?

时间:2015-01-23 00:58:02

标签: jquery

我的代码长140行,但它基于以下内容:

  $('oracle').onchange = disablefield;

http://jsfiddle.net/xjLknxp8/

我试图只允许某人在选中该单选按钮的情况下键入一个字段...

2 个答案:

答案 0 :(得分:1)

我刚刚使用以下较短版本调整了Fiddle

$(document).ready(function () {
  $("input[type='radio']").click(function(){
    disableOther(this.id);
  });
});

function disableOther(item){
    $(".form-body input[type='text']").each(function(){
      $(this).removeAttr('disabled').val("");
    });   
    $("input[type='radio']").not("#" + item).closest("tr")
                            .find("input[type='text']").each(function(){
      $(this).prop('disabled',true);
    });   
}

不要为每个单选按钮值禁用每个输入字段,只需禁用tr中不包含单击的单选按钮的所有输入字段,并删除所有文本的disable属性在将其他两行设置为disabled之前输入字段。

答案 1 :(得分:0)

此模板将执行此操作:

 $('input[name=bill_code1_1]').prop('disabled',true);

而不是你拥有的,这是

 $('input[name=bill_code1_1]').disabled=true;

它是DOMObject.disabled = true或$ Selector.prop('disabled',true); 您正在使用选择器,就好像它是一个DOM对象。