2010-08-04 148 views
0

在某些View頁面上我有兩個部分視圖(它們的html是相同的)。與第一個工作這個腳本,但第二個不工作。當試圖讓article_number因爲我有兩個輸入框的一些標識(ID = MArticleNumber)發生jquery選擇問題

<script type="text/javascript"> 
    $(document).ready(function() { 

    $('input:radio').click(function() { 

     var location = $("input:checked").val(); 
     var article_number = $("input[id=MArticleNumber]").val(); 

     $.post("/ImportXML/DevAccEditTempTable", { location: location, article_number: article_number }, function(data) { 

      if ($("input[id='check']:checked").val() == 'a') { 
       alert("page for new device")  
      } 
      else { 
       window.location.href = "/" + data.redirect; 
      } 
     },"json"); 
    }); 
}); 
</script> 

問題。如果將第二個ID更改爲id = MArticleNumber1,那麼有兩個文章編號,但我必須傳遞給操作DevAccEditTempTable只有一個文章編號。

回答

3

首先,你可以使用更短手調用get從一個元素的值與ID(見下面的解釋):

var article_number = $("#MArticleNumber").val(); 

其次,它是無效的要具有相同ID的元素。該id必須是唯一的,根據HTML規範:www.w3.org

通過讓你的id唯一,你的問題就會發生。

(*)解釋爲什麼您應該使用#選擇器代替jQuery中的[id = ...]選擇器。

$("#myElementId") 

使用#id將導致一個簡單的getElementById調用,該調用快速且簡單。該ID必須是唯一的,因此元素的類型不相關。

$("input[id=myElementId]") 

要執行此查找,首先獲取所有輸入元素,然後循環查找指定屬性搜索的匹配項。

+0

s/to elements/two elements – sje397 2010-08-04 08:17:29