【发布时间】:2011-09-04 07:31:59
【问题描述】:
我正在使用 James Smith 出色的 tokenized input 插件作为搜索框。 (PHP 后端。)我正在尝试预填充输入,但只是在某些情况下 - 例如,如果用户向我的 URL 传递了一个参数。
正常初始化:
$("#tokenized").tokenInput("http://www.my.url/index.php", {
theme: "facebook",
});
根据需要,这让我从一个空白框开始,一切都很好。
使用漂亮的 prePopulate 参数:
$("#tokenized").tokenInput("http://www.my.url/index.php", {
theme: "facebook",
prePopulate: [<?php echo json_encode($initialValue); ?>]
});
$initialValue 是一个带有 'id' 和 'name' 的数组。当它设置为某些东西时,这也很有效。但那是我的问题——它只会在某些时候被设置。我尝试向它发送一个零元素数组以及一个具有空值的数组。将数组设置为 null 会产生预期的未捕获异常。如果它是其中之一,则该框拒绝不预填充 - 为“未定义”或“{space}”创建一个条目。我希望它是空的,就像上面的第一个例子一样。
如果设置了初始值,如何告诉我的页面仅预填充?我可以在初始化中内嵌某种 if() 条件吗?
此外,这里的 jQuery 初学者 - 如上所述,仍然使用 'php echo' 来获得我的价值。有没有更好的办法?
谢谢!
【问题讨论】:
-
只是一个通知,在第一个示例中删除尾随的
,,因为它会阻塞 IE。
标签: php jquery json initialization conditional