2013-10-28 48 views
0

我的頁面上有幾個輸入字段是動態創建的。在JQuery中,我試圖獲取我輸入的值的值,以便將值傳遞給我的php腳本以填充自動填充。訪問具有類似Ids的輸入的值

例如:

<input id="inventory_location_1"> 
<input id="inventory_location_2"> 
<input id="inventory_location_3"> 
<input id="inventory_location_4"> 
<input id="inventory_location_5"> 
<input id="inventory_location_6"> 

如果我輸入文本 「inventory_location_1」 由於某種原因,我不能使用VAR將strValue = $(本).VAL();獲取我輸入的框的文本。 jquery拋出一個錯誤。

這是我完整的Jquery腳本;

$(function() { 
     $('input[id^=inventory_location_]').autocomplete({ 
      source: function(request, response) { 
       $("#progressBar").show(); 
       var strValue = $(this).val(); 
       alert(asdf); 
       $.ajax({ 
        url: '{{ path('inventory_id_via_ajax_array') }}', 
        dataType: "json", 
        data: { 
         featureClass: "P", 
         style: "full", 
         maxRows: 12, 
         value: strValue 
        }, 
        success: function(data) { 
         if(data.responseCount <= 0){ 
         } 
         response($.map(data.responseData, function(item) { 
          return { 
           label: item.name, 
           name: item.name, 
           value: item.name, 
           id: item.id 
          } 
         })); 
         $("#progressBar").hide(); 
        } 
       }); 
      }, 
      minLength: 2, 
      select: function(event, ui) { 
       $("#progressBar").hide(); 
       $(this).val(ui.item.label); 
      }, 
      open: function() { 
       $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); 
      }, 
      close: function() { 
       $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); 
      } 
     }); 
    }); 

不知道該怎麼做,我已經做了我能想到的一切。另外,如果您在我的腳本中看到其他內容不正確,請告知。謝謝你的幫助!!!

回答

1

這裏有一個簡單的解決方法,當你初始化一個插件在頁面上的許多元素,但需要訪問的每個特定元素行之有效

$('input[id^=inventory_location_]').each(function(){ 
      /* within $.each "this" is the current element*/ 
      var ID=this.id; // can now pass variable into plugin wherever you need it 
      $(this).autocomplete({/* options*/}); 

}); 
+0

非常感謝! – LargeTuna

+0

非常有幫助的模式記住 – charlietfl

0

你指的是該生產線是一個函數裏面,所以the'this '關鍵字不再與輸入字段有關。

此外,它看起來像你試圖從你的自動完成源代碼功能,我認爲是不正確的地方做一些其他的任務。

+0

你最有可能的正確,因爲我不知道我在做什麼:) – LargeTuna

+0

可以做任何你想要的插件回調......但正如指出......許多插件不能訪問元素使用'this' – charlietfl