jquery
  • syntax
  • 2012-05-18 156 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 +']"]'); 
    
    相關問題