【发布时间】:2012-10-07 22:36:47
【问题描述】:
目前,当我在 php 中创建它时,我的 typeahead 看起来像这样
echo '<input type="text" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source="[,';
while ( $rowresult = mysql_fetch_assoc($titlequery) ) {
echo '{value:"'.htmlspecialchars($rowresult['title']).'"'."},";
}
echo ']">';
输出如下:
<input type="text" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source="[,{value:"2010-11 Graf Intern"},{value:"2nd Year Finance Explorer, Mizani & L'Oreal Technique"},{value:"A&R Intern"},{value:"Account Executive"},{value:"Account Manager"},{value:"Account Service Representative"},{value:"Account Strategist"},{value:"Accountant"},{value:"Accounting Intern"},{value:"Accounting Intern/Analyst"},{value:"Accounts payable"},{value:"Acquisition Marketing Intern"},{value:"Acquisitions Associate"},{value:"Acting Manager"},{value:"Acting Software Manager"},{value:"Administrator"},{value:"Admissions Ambassador"},]">
不幸的是,它只显示它能够找到的每个值的第一个字符(值是引导程序的默认值。)
编辑:
问题围绕格式化结果展开,实际上,发生的事情是 Javascript 试图引用一个不存在的数组,因此它采用了元素 [0],它是它的第一个字符。
【问题讨论】:
-
我不知道它是否有所不同,但 data-minLength 也无法正常工作。
-
首先,不要使用 ext/mysql(
mysql_*()函数),而是使用 PDO 或 MySQLi。接下来,您应该使用htmlspecialchars(json_encode($arr)),而不是像那样手动创建(语法无效)字符串。 -
添加了 json_encode 部分,但没有帮助。 P.S.注意 mysqli 计划在发布前完成开发后迁移。
-
如果有人遇到此问题:修复步骤:1. 验证 JSON 2. 删除“值”:因为它不是在寻找值
标签: php javascript html twitter-bootstrap