如何发送jQuery自动完成类别作为表单提交的一部分
How to send jQuery Autocomplete categories as part of the form submit?
我有jquery自动完成的类别,当一个人用鼠标点击它,它被发送到一个php页面与该值,并报告一个页面。
但是,我想要发送的类别。
这是开头部分…
$( "#tipapp" ).catcomplete({
delay: 0,
source: data,
select: function(event, ui) {
$("input#tipapp").val(ui.item.label);
$("#tipapp").submit();
},
}).data("catcomplete")._renderItem = function(ul, item) {
return $("<li></li>").data("item.catcomplete", item).append("<a>" + item.label + "</a>").appendTo(ul);
};
和php的提要:
$("#tipapp").submit(function() {
$('#output').load('resultapp.php', {value: $(this).val()});
});
从我读到的,我想我可以简单地添加到php行:
$('#output').load('resultapp.php', {value: $(this).val(), cat: item.category});
但是没有运气,我也改变了。
select: function(event, ui, item) {
$("input#tipapp").cat(ui.item.category);
当然,运气不好。有大量的页面使用自动完成和表单等功能,但这是特定于类别的。
我错过了一些简单的东西吗?我可以只是做一个项目上的发现,以获得类别在php文件我正在调用,但如果它是一个简单的修复,那么它会节省一些代码和一个额外的调用数据库。
ui.item.category
确实应该包含项目的类别值。问题是ui
对象可能在最终submit()
处理程序的作用域中未定义。
为了克服这个问题,可以在调用处理程序之前将类别值存储在输入元素的数据中,如下所示:
select: function(event, ui) {
$("input#tipapp").val(ui.item.label).data('category',ui.item.category);
$("#tipapp").submit();
}
然后在处理程序中,可以从输入元素的数据中检索类别值,如下所示:
$("#tipapp").submit(function() {
$('#output').load('resultapp.php', {value: $(this).val(), cat:$(this).data('category')});
});
相关文章:
- HTML表单提交时未执行外部函数
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将图像上传ajax与表单提交ajax相结合
- Javascript无法处理表单提交
- 如何在我的情况下禁用表单提交
- 加载后的页面与ajax表单提交不起作用
- angularjs-控制器在表单提交时未调用
- 禁用带有字符白名单的表单提交
- 如何使用Google Analytics跟踪表单提交
- 使用javascript将表单提交到iframe目标中
- e.preventDefault在表单提交时被忽略
- AngularJS JQuery Ajax表单提交等效
- JavaScript表单提交帮助
- PHP表单提交和重定向
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 节点.js - 使用 ajax 提交表单的一部分,并且强大
- 是否有一种方法可以在单击按钮时验证表单的一部分,而无需首先提交表单
- 用户通过表单提交关键字;我怎样才能得到'关键词'搜索URL的一部分,以便在页面中进行修改
- 如何发送jQuery自动完成类别作为表单提交的一部分