Я пытаюсь создать пользовательский элемент меню ui-menu-item с помощью функции _renderItem, но после попытки может не получиться, что функция будет вызвана. Автозаполнение работает, но это похоже на функцию _renderItem. Вот мой сценарий scctionJQuery _renderItem не называется
<script language="Javascript" type="text/javascript">
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
$j(document).ready(function() { //START of ready function
$j("#custom-report")
.autocomplete({
source: function(request, response) {
$j.getJSON("<?=$this->url(array("controller"=>"report", "action"=>"custom-autocomplete"))?>", {
term: extractLast(request.term)
}, response);
},
search: function() {
//Place holder
},
focus: function (event, ui) {
// Prevent the default focus behavior.
event.preventDefault();
},
select: function(event, ui) {
var terms = split(this.value);
terms.pop();
terms.push(ui.item.value);
this.value = terms.join(", ");
return false;
}
}).data("autocomplete")._renderItem = function (ul, item) {
return $("<li />")
.data("item.autocomplete", item)
.append("This is the text")
.addClass("tip")
.attr("desc", "This is the description")
.appendTo(ul);
};
}); //END of ready function
</script>
У кого-нибудь есть идеи, почему это не работает?
Какой смысл использования AJAX со встроенным PHP? Является ли '$ this-> url' действительным JSON? Проверьте [wp_localize_script] (http://codex.wordpress.org/Function_Reference/wp_localize_script), который позволит вам передавать переменные клиенту, чтобы вы могли отделить ваш JS от PHP. – elclanrs
Да, это все работает, за исключением того, что полностью игнорирует функцию _remderItem. Это включено в приложение Zend PHP. – Alex
. Какую версию jquery ui вы используете? –