从多个窗体中获取选择框的值
Get the value of select boxes from multiple forms
基本上,我重复这个表单几次,每个都有自己的提交按钮。在这种情况下,我不能将表单中的所有选择框合并到一个表单中。
<form method="post" action="">
<select name="hour" class="hour">
// option tags
</select>
<select name="minutes" class="minutes">
// option tags
</select>
<input type="submit" name="submit" class="submit">
</form>
我使用AJAX来处理这些值。
$(".submit").click(function() {
var hour = $(".hour").val();
var minutes = $(".minutes").val();
// AJAX code here
});
然而,变量'hour'和'minutes'将只保留第一个表单中选择框的值。如果在第二个或第三个表单上单击提交按钮,我如何让这些变量具有正确的值?
你可以这样做:
$(".submit").click(function () {
var $form = $(this).closest('form');
var hour = $form.find(".hour").val();
var minutes = $form.find(".minutes").val();
// AJAX code here
});
点击提交按钮,它将转到最近的form
,并在其中找到选择列表,并相应地获得相应的值。然后你可以处理数据
添加上下文,例如:
$(".submit").click(function() {
var hour = $(".hour", $(this).parent()).val();
var minutes = $(".minutes", $(this).parent()).val();
// AJAX code here
});
编辑:此代码仅用于您的示例。如果DOM结构不同,可能需要更改。
你也可以用'submit'事件代替'click'。在这种情况下,您可以使用$(this)
作为上下文。
相关文章:
- 在动态创建的元素上获取对特定选择器的引用
- 获取选择框的状态
- 如何从选择框中的选项中获取属性值
- 从选择下拉菜单中获取数据
- 获取用户选择的不带时区的日期
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- jQuery inArray函数在更改选择时未获取值
- Bootstrap点击选择获取点击值
- 根据用户选择获取 JSON 密钥
- 根据另一个字段选择获取新值后更新下拉列表内容
- 根据用户在边栏中的选择获取记录
- 用户选择 - 获取参考以供将来使用
- 选择2:获取格式选择以具有特定的上下文
- j查询选择“获取选择时更改事件”选项
- Angular2的ngFor用于多个选择框.下一步选择获取值
- 根据第一个下拉选择获取值
- 选项选择获取值而不重新加载页面
- 在rails中基于用户选择获取数据库记录
- Javascript:基于下拉选择获取数组
- AngularJS Jasmine单元测试在索引x处选择获取选项