2015-09-12 41 views
1

我的文本框的名字是
EXM:<input name="packageconfigoption[2]" size="20" value="" type="text"> packageconfigoption [X],X是一个数字,没有ID
我该怎么让从这个名字隐藏输入?
我用这个代码,但是不行,有语法错误
如何从名称中使用jQuery显示/隐藏文本框?

$('input[packageconfigoption[6]]').click(function() { 
    if($(this).val() == "Exm1") { 
     $('input[packageconfigoption[13]]').hide(); 
    } else { 
     $('input[packageconfigoption[8]]').show(); 
    } 
    }); 

我想如果packageconfigoption [8]值改变,packageconfigoption [X]隐藏或显示

+0

“不工作”几乎是从来没有一个问题的足够好的解释,在这里。描述会发生什么,或者应该但不会。 – hoijui

+0

可能的重复http://stackoverflow.com/questions/9696604/jquery-call-the-jquery-button-click-event-based-on-name-property –

回答

0

您可以使用像这样使用Attribute Equals Selector [name=”value”]

$('input[name="packageconfigoption[6]"]').click(function() { 
    if ($(this).val() == "Exm1") { 
     $('input[name="packageconfigoption[13]"]').hide(); 
    } else { 
     $('input[name="packageconfigoption[8]"]').show(); 
    } 
}); 
+0

谢谢,工作:) – nima

+0

很高兴帮助! –

0

您在使用正确的选择您的查询将是input[name="packageconfigoption[6]"]等,而不是您目前拥有的。

换句话说,属性名name是括号内发生的事情,然后它通过=符号设置属性值:

element[attribute="attribute_value"] 

现在你有什么是查询寻找一个input具有属性packageconfigoption[6]的元素,而不是属性name,其值等于packageconfigoption[6]