数据库
首页 > 数据库> > jQuery选择搜索不适用于动态填充的选项(PHP / MySQL)

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