Dav*_*Dev 0 jquery jquery-selectors jquery-traversing
我目前正在获取表单中存在的所有Select元素,其中包含以下内容:
$("form").submit(function(event)
{
// gather data
var data = GetSelectData($("form select"));
// do submit
$.post($(this).attr("action"), data, ..etc)
});
Run Code Online (Sandbox Code Playgroud)
而不是传入$("form select"),有没有办法可以说出类似的东西
$(this).children('select') // this doesn't work, btw
Run Code Online (Sandbox Code Playgroud)
获取提交事件正在执行的表单上下文中存在的所有选择元素?
这将允许我将我的代码减少到以下,将所有功能转移到一个通用功能:
$("form").submit(function(event)
{
GatherDataAndSubmit($(this));
});
function GatherDataAndSubmit(obj)
{
var data = GetSelectData(obj.children('select'));
$.post(obj.attr("action"), data, ..etc)
}
Run Code Online (Sandbox Code Playgroud)
谢谢
戴夫
使用.find()
尝试
var data = GetSelectData(obj.find('select'));
Run Code Online (Sandbox Code Playgroud)
.find()和.children()方法类似,只是后者只沿DOM树向下移动一个级别.
$("form").submit(function(event)
{
GatherDataAndSubmit($(this));
});
function GatherDataAndSubmit(obj)
{
var data = GetSelectData(obj.find('select'));
$.post(obj.attr("action"), data, ..etc)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |