2014-05-21 127 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

相关问题