通过数据属性和jquery实现可重用
Going reusable with data attributes and jquery
我的文本框前面附加了许多Bootstrap Type。我当时用那里的id来选择并附加typeahead。
样品
$("#SireTag").typeahead({
source: function (query, process) {
$.ajax({
url: '/Bull/GetSireTag',
type: 'POST',
data: 'query=' + query,
dataType: 'JSON',
async: true,
success: function (data) {
console.log(data);
process(data);
}
});
}
});
现在,我决定使用一个java脚本代码将type-ahead附加到我所有的文本框中,使它更可读、更简短。
<input data-typeahead-url="/Bull/GetSireTag" id="SireTag" name="SireTag" type="text" value="">
新的Javascript
$('*[data-typeahead-url]')
.each(function () {
alert(this);
$(this).typeahead({
source: function (query, process) {
$.ajax({
url: $(this).data("typeahead-url"),
type: 'POST',
data: 'query=' + query,
dataType: 'JSON',
async: true,
success: function (data) {
console.log(data);
process(data);
}
})
}
});
});
但它不起作用,我不太精通java脚本,现在谁都错了。我试过开发人员的工具ajax请求没有发出。
$('*[data autocomplete url]')不会选择元素,因为您使用的是数据类型先行url。
您需要将ajax结果return
发送到source
,也不要使用alert()
进行调试,而是使用console.log()
:
$('input[data-typeahead-url]').each(function () {
$(this).typeahead({
source: function (query, process) {
return $.ajax({
url: $(this).data("typeahead-url"),
type: 'POST',
data: { query: query },
dataType: 'json',
async: true,
success: function (resp) {
console.log(resp);
return process(resp);
}
});
}
});
});
希望能有所帮助。
$('*[data typeahead url]').each(函数(){
var url = $(this).data("typeahead-url");
$(this).typeahead({
source: function (query, process) {
$.ajax({
url: url,
type: 'POST',
data: 'query=' + query,
dataType: 'JSON',
async: true,
success: function (data) {
console.log(data);
process(data);
}
})
}
});
});
问题:代码发出ajax请求,但地址相同。诊断:我尝试了log($(this).data("typeahead-url");)
,它给出了所需的输出。解决方案:我创建并存储了Url,并将其用作ajax调用中的参数
var url = $(this).data("typeahead-url");
希望得到帮助。
相关文章:
- 如何正确实现Jquery多选小部件
- 如何使用 get_template_directory_uri() 正确实现 jQuery 菜单功能到 Wordpres
- 在对象类上实现 jquery 作用域的最佳方法
- 在Ember.js应用程序中实现jQuery
- 如何在纯JS中实现jQuery.map()的等效功能
- 如何正确实现Jquery移动路由器插件
- 使用AJAX源代码和appendTo理解和实现jQuery自动完成
- 在动态添加的图像上实现Jquery同位素
- 实现Jquery时出现问题'成对元素上的s.each()函数
- 使用selenium实现jquery时出错
- 可以'我没有在我的网站上实现Jquery Scrollify
- 如何在页面上的多个缩略图集的鼠标悬停时实现 jQuery 图像循环
- 如何在 Javascript 中实现 jQuery 的 load() 函数
- 尝试实现jQuery插件,失败
- Ember cli 切换侧边栏“实现 Jquery 部分?”
- 如何实现 jQuery Ajax 调用的 Kendo 进度条
- 如何使用纯 Javascript 和文档查询选择器实现 jQuery .on() 函数
- 实现 Jquery 计数器
- 如何在此代码上实现 jQuery cookie
- 如何使用 JSF 实现 JQuery 确认对话框