JQuery对ajax请求的改变
JQuery on change make ajax request
我有一堆选择作为过滤器,像这样
<select name="color" data-options="katalog.php?cat=3" class="filter">
<option value="1">White</option>
<option value="2">Green</option>
</select>
但是在Firebug中,我得到一个错误,不能弄清楚为什么
$('body').on("change", '.filter', function() {
$('#mainstage').load($(this).data('options') + '&' + $(this).attr('name') + '=' + $(this).attr('value'));
})
您请求的url是"katalog.php?cat=3&color=undefined"
,因为您不应该使用attr()
来读取值。使用jQuery的val()
方法,这样你就可以得到被选中的选项的值。
... '=' + $(this).val())
错误发生在$(this).attr('value')
,它试图获取选择元素本身的值属性,而不是获得所选值。查找所选文本或值
例子:
通过$(this).find(":selected").text()
查找选定选项的文本值
$('body').on("change", 'select', function() {
$('#mainstage').load($(this).data('options') + '&' + $(this).attr('name') + '=' + $(this).find(":selected").text());
})
例子:
通过$(this).val()
获取所选选项的value属性
$('body').on("change", 'select', function() {
$('#mainstage').load($(this).data('options') + '&' + $(this).attr('name') + '=' + $(this).val());
})
希望能有所帮助
相关文章:
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- ajax请求的顺序总是不同的
- Meteor如何接收HTTP请求
- 有没有一种方法可以防止img get请求使用css或js发生
- 从ajax请求中获取javascript对象
- JSONP请求返回结果,但也触发error_callback
- 在localhost Dev Box上测试JSONP请求的最佳方式
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 在openshift node js应用程序中获取请求
- 反应路由器弄乱了请求网址
- 在我的情况下,如何进行http请求
- 使用密码对话框Javascript请求帮助
- 在单元测试中,当[method]语句在请求之间时如何改变$httpBackend
- 当url目录改变时,Ajax不向php发送请求
- JQuery对ajax请求的改变
- 图标不正确加载时,我改变我的模块,抱怨交叉原点请求
- 允许子域之间的跨站点请求,而不改变第二个子域的文件内容
- js服务调用改变请求类型