从多个窗体中获取选择框的值

Get the value of select boxes from multiple forms

本文关键字:选择 获取 窗体      更新时间:2023-09-26

基本上,我重复这个表单几次,每个都有自己的提交按钮。在这种情况下,我不能将表单中的所有选择框合并到一个表单中。

<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)作为上下文。