1

我有一个表格:

<form id="myForm">
    <select name="mySelect">                
        <option value="250">250</option>                    
        <option value="500">500</option>
    </select>
    <input id="submit-123" type="submit" />
</form>

我需要以一种聪明的方式获得提交的价值。页面上有多个表单,因此我需要获取与已单击的提交按钮相关的表单。

var form = $('#submit-123').closest('form');

但是我不知道如何在不引用索引的情况下获取选择的值(它需要比这更健壮)。

我得到的最接近的是 using:form.children()但我仍然无法弄清楚如何准确定位选择。

我是 JS 新手,任何帮助将不胜感激。


4

3 回答 3

0

你可以试试这个来获得点击提交按钮的相关表单

   $('form').has('#submit-123').find('select');

或者

   $(this).prev('select');

或者

   $(this).closes('form').find('select');

从该选择中获取价值

   $('form').has('#submit-123').find('select').val();

或者

   $(this).prev('select').val();

完整代码

$(':submit').on('click', function(e) {
    e.preventDefault(); // just for stop redirect, you may not need this
    alert($('form').has(this).find('select').val());
});

演示 1

或者

$(':submit').on('click', function(e) {
    e.preventDefault(); // just for stop redirect, you may not need this
    alert($(this).prev('select').val());
});

演示 2

于 2012-06-03T06:24:31.597 回答
0

HTML

<form id="myForm">
<select name="mySelect">                
    <option value="250">250</option>                    
    <option value="500">500</option>
</select>
<input id="submit-123" type="submit" />
</form>

脚本

$("input:submit").click(function(){
    var value = $(this).closest('form').find('select').val();
    return false;
});
于 2012-06-03T06:31:02.967 回答
0

这应该对你有用,

$('#submit-123').siblings('select[name="mySelect"]').val()
于 2012-06-03T06:32:40.113 回答