jquery
  • syntax
  • 2012-05-18 85 views 1 likes 
    1

    我想选择与名称的文本框的值:studentid [1],使用此jQuery代码:选择文本框的值使用jquery,在选择器语法修改

    var id = 1; 
    var a = $("input[type='text'][name='studentid\["+id+"\]").val(); 
    

    它产生的输出为“未定义”在警报框中。我的语法正确吗?

    回答

    2

    你已经离开了关闭单引号和关闭方括号。下面是在适当的情况下使用双反斜杠的修正版本:

    var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val(); 
    
    1

    ,我认为这会工作Demo on JsFiddle

    var id = 1; 
    var a = $("input[type=text][name=studentid["+id+"]]").val(); 
    alert(a); 
    
    1

    尝试使用两个反斜杠代替。据jQuery的documentation

    如果你希望使用任何的元字符(如 “#$%&“()* +,/ :; < => @ [] ^? `{|}〜)作为名称的文本部分,则必须 以两个反斜杠逃脱字符:\

    1

    []需要2个反斜线逃避他们,还你缺少一个右。 ]用于属性选择器。

    var id = 1; 
    var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val(); 
    
    1

    是的,这里有几个语法错误。您忘记插入尾部支架和报价。而且,在转义括号中没有特别的需要。此代码工作正常:

    $(":text[name='studentid[" + id + "]']").val(); 
    

    DEMO:http://jsfiddle.net/jW2MR/

    1

    这是你想要的吗? http://jsfiddle.net/J5jN8/

    1
    var id =1; 
    $('input[type=text][name="A['+ id +']"]'); 
    
    相关问题