2014-05-21 126 views
0

我試圖發送服務器上的一些額外的數據搜索使用jQuery的inputToken發送額外的數據

<input type="text" id="dsp_filter" name="dsp_ids" /> 
<input type="text" id="user_filter" name="user_ids" /> 
<button class="btn btn-primary" type="button" onclick="makeSearch();">Filter Search</button> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#dsp_filter").tokenInput(BASE+"/report-by/filter/dsp", { 
      theme: "facebook", 
      preventDuplicates: true 
     }); 
     $("#user_filter").tokenInput(BASE+"/report-by/filter/user?dsp_ids="+$('#dsp_filter').val(), { 
      theme: "facebook", 
      preventDuplicates: true 
     }); 
     $('#toggleElement').on('click', function() { 
      $('#filterElements').toggle(); 
     }); 
    }) 
    function makeSearch() { 
     console.log('dsp '+$('#dsp_filter').val() + ' user '+$('#user_filter').val()) 
    } 
</script> 

在上面的代碼,當我點擊「過濾搜索」我可以看到IDS ,但是當我從過濾器用戶發送數據。數據未提交。有人能告訴我怎麼做到這一點?

回答

1

$("#user_filter").tokenInput()在文檔準備就緒時被初始化。所以當文件加載時,該值可能爲空。然而你的makesearch()是由按鈕觸發的,這就是爲什麼它可能工作。

因此,將$("#user_filter").tokenInput()移動到某些用戶事件。或者在加載文檔時確保您有值。

+0

我明白這個問題,但有沒有其他方式可以做到這一點?由於dsp_filter可能是空的,我也可以預先填充該值。 –

+0

好吧,將網址生成移動到一個變量。如果div的值爲null,則prepopulate並使用tokenInput()中的變量。 – prasann

+0

var ids = $('#dsp_filter')。val()|| 「prepoulated_values」;在tokenInput中使用此var id來生成URL – prasann

相關問題