jQuery选择搜索不适用于动态填充的选项(PHP / MySQL)
作者:互联网
我有一个选择菜单,其中的选项通过PHP和MySQL填充.选择下拉菜单在实现jQuery Chosen之前运行良好,但是最终选项列表将非常长,因此我使用的是Chosen,因此包含了搜索功能.选项在下拉列表中填充,但是我的问题是搜索无法识别任何动态填充的选项.我在可用选项上得到“没有结果匹配…”.我通过对其中的一些选项进行硬编码来确保插件可以正常工作,并且确实可以搜索.
关于可能会发生什么的任何想法?
解决方法:
我知道这个问题很旧,但是我只是想解决这个确切的问题,而无法在网上找到任何帮助(而且这个问题还没有公认的答案,所以…).
无论如何,这是我的情况:
我的“选择”输入是通过PHP在页面加载时以编程方式生成的,选择的输入初始化得很好(并且实际上在同一格式的其他2个下拉列表中也能正常运行),但是在我搜索一个值时在这个特定的下拉列表中(我可以在列表中清楚地看到一个))如果输入的字符数超过1个,则会收到“没有匹配结果…”的消息.
实际上,该问题与我的PHP源代码的格式有关.似乎“ option”标签的内部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
希望对其他正在寻找该问题答案的人有所帮助.
标签:jquery-chosen,mysql,php,jquery 来源: https://codeday.me/bug/20191029/1962157.html