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');

しかし、インデックスを参照せずに、selectの値を取得する方法を理解することはできません(それよりも堅牢である必要があります)。

私が得た最も近いものは使用しています:form.children()しかし、私はまだ選択を正確にターゲットにする方法を理解することができません。

私はJSの初心者ですので、助けていただければ幸いです。


4

3 に答える 3

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 に答える
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 に答える