将输入id传递到jquery ui自动完成中的url
Pass input id to url in jquery ui autocomplete
我需要将输入的id传递到远程数据源的url。
我已经通过黑客攻击实现了它,但我觉得我做了两次事情,有什么方法可以在不使用按键功能的情况下获得输入id吗?
我需要将输入id传递到url,因为PHP文件中有一些逻辑取决于使用的输入。
html
<input id="input1" class="selector" type="text">
js
$(".selector").keypress(function() {
var param2id = $(this).attr('id'); // this id needs to pass to the url
$(".selector").autocomplete({
minLength: 1,
max: 10,
source: "source.php?param2=" + param2id + "", // passed from the keypress
focus: function(event, ui) {
$(this).val(ui.item.value);
return false;
},
select: function(event, ui) {
$(this).val(ui.item.value);
return false;
}
});
});
它实际上有点复杂,因为自动完成不会引用它所设置的元素。所以你可以通过each函数包装它们,所以你不必使用keypress
。这将只设置一次引用。
$('.selector').each(function(i, el) {
param2id = $(el).attr("id");
$(el).autocomplete({
minLength: 1,
max: 10,
source: "source.php?param2=" + param2id + "",
focus: function(event, ui) {
$(this).val(ui.item.value);
return false;
},
select: function(event, ui) {
$(this).val(ui.item.value);
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
<input class="selector" id="input1">
相关文章:
- 语义ui表单验证:图像url
- 访问url[材质Ui+选项卡]时,Angular Ui路由器未加载视图
- 将URL参数传递给ui sref
- UI 路由器参数 URL 不起作用,只是重定向到 /
- 动态模板 URL 在角度 ui 路由器中解析时
- jQuery UI中的动态url,数据表
- Angular/UI路由器-如何在不刷新所有内容的情况下更新URL
- 在AngularJS ui路由器中,状态已更改,url已更改,但模板url未更改
- UI路由器:直接使用url访问路由
- Angular ui路由器向url添加哈希
- Angular,ui路由器;绑定”;到url,也不刷新
- Angular ui路由器,通过url/url变量保存状态
- 对于多个视图,当URL更改时,我的子模板不会在Angular UI中加载
- 使用ui路由器实现动态URL路由的最佳方式是什么
- Angular ui路由器单元测试(状态为url)
- Angular UI路由器认为每个URL都不匹配并重定向
- 将输入id传递到jquery ui自动完成中的url
- Ui路由器未按url路由
- Angular ui路由器可选url参数
- AngularJS通过URL ui-router简单导航到参数化状态