Условный параметр в инициализации функции jQuery? - PullRequest
1 голос
/ 29 мая 2011

Я использую превосходный плагин токена * Джеймса Смита для поля поиска. (Бэкэнд 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'. Это также прекрасно работает, когда он установлен на что-то. Но это моя проблема - только в некоторых случаях это будет установлено. Я попытался отправить ему массив с нулевым элементом, а также массив с пустыми значениями. Установка массива в ноль приводит к ожидаемому необработанному исключению. Ящик отказывается не заполнять заранее, если он один из них - создавая запись для 'undefined' или '{space}'. Я хочу, чтобы он был пустым, как в первом примере выше.

Как мне сказать, чтобы моя страница была предварительно заполнена, только если мое начальное значение установлено? Могу ли я выполнить какое-либо условие if (), встроенное в инициализацию?

Также, начинающий jQuery здесь - как и выше, все еще использующий php echo, чтобы донести мою ценность. Есть ли способ лучше?

Спасибо!

1 Ответ

1 голос
/ 29 мая 2011

echo отлично. Попробуйте это:

$("#tokenized").tokenInput("http://www.my.url/index.php", {
theme: "facebook"
<?php if($initialValue){ ?>, prePopulate: [<?php echo json_encode($initialValue); ?>]<?php } ?>
});

Добавляет параметр prePopulate только если установлено initialValue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...