2014-03-27 79 views
3

我有一个select菜单,其选项通过PHPMySQL填充。选择dropdown menu在执行jQuery Chosen之前工作正常,但最终选项列表将会很长,所以我使用Chosen以便包含搜索功能。选项填充在下拉框中,但是我的问题是搜索不能识别任何动态填充的选项。关于可用选项,我得到“没有结果匹配...”。我确定插件是通过对某些选项进行硬编码来工作的,而且确实可以搜索。jQuery选择的搜索与动态填充选项不兼容(PHP/MySQL)

关于可能发生什么的任何想法?它使用trigger("chosen:updated");

继承人演示

http://jsfiddle.net/Q8GEp/

+0

如果选项正在动态添加,则在构建完整选项列表后重新启动插件。 – effone

+0

“重新启动”插件是什么意思? – mikeriley131

回答

3

我知道这个问题是旧的,但我只是把我的头发在这个确切的问题,却不能

0

最容易的方法在网上找到任何帮助(而这个问题还没有被接受的答案,所以......)。

不管怎么说,这是我的情景:

我的“选择”是通过PHP程序生成的页面加载输入,选择被初始化就好了(实际上是2等下拉菜单正常工作的同一表格上),但在这个特定的下拉菜单中,当我搜索一个值时(我可以在列表中清楚地看到这个值),如果我输入了多于一个字符,我会得到一个“没有结果匹配...”的消息。

这个问题实际上与我的PHP源代码的格式有关。看起来,“选项”标签的内部HTML中的任何换行符(可能是前导/后缀空白)都将打破“选择”中的搜索功能。例如:

这PHP代码:

<select> 
    <option> 
     <?php print("inner HTML"); ?> 
    </option> 
    <option> 
     <?php print("more inner HTML"); ?> 
    </option> 
</select> 

当时输出此HTML:

<select> 
    <option> 
     inner HTML 
      </option> 
    <option> 
     more inner HTML 
      </option> 
</select> 

打破了搜索功能,但是当我改变了我的来源是:

<select> 
    <option><?php print("inner HTML"); ?></option> 
    <option><?php print("more inner HTML"); ?></option> 
</select> 
导致此HTML的

<select> 
    <option>inner HTML</option> 
    <option>more inner HTML</option> 
</select> 

一切都按预期:d

希望帮助别人谁是谷歌搜索周围的回答这个问题。

+0

选项正在填充。我的问题是,搜索不认可的选项。 – mikeriley131

+0

可以在jsfiddle上分享你的代码吗? –

+0

不知道这是否会有帮助,因为有PHP涉及,但这里是相关的HTML和JS - http://jsfiddle.net/G6cwd/2/ – mikeriley131