0

すべてのオプションを選択して投稿しようとしていますが、これまでのところ、1 つの値のみを投稿しています。すべてのオプションをフォームに投稿するには、何を追加すればよいですか?

これは私がこれまでに得たコードです

    $('.add_button').click(function () {
    $('.valj_grupp_email option:selected').each(function () {
        $("<option/>").
        val($(this).val()).
        text($(this).text()).
        appendTo(".valda_grupper_email");
    //-------------------Here I need help to select all my options in .valda_grupper_email_form-------------------------//  
            $.post(
            'mail_visa_kunder.php',
            $('.valda_grupper_email_form').serialize(),
            function(data){
            $("#testar3").html(data)
            }   
        );
        return false;
    //--------------------------------------------//

    });
});

フォームの例:

<form class="valda_grupper_email_form" method="post">
   <select>
      <option value="1">test1</option>
      <option value="2">test2</option>
      <option value="3">test3</option>
   </select>
</form>

html コードをそのままにしておく必要があることを付け加えておきます。選択リストから何かを削除したい場合。

削除のコード:

$('.delete_button').click(function () {
    $('.valda_grupper_email option:selected').each(function () {
        $(this).remove();
        $.post(
            'mail_visa_kunder.php',
            $('.valda_grupper_email_form').serialize(),
            function(data){
            $("#testar3").html(data)
            }   
        );
        return false; 
    });
});

あなたがより簡単に理解できるように、私のアプリケーションの写真。

ここに画像の説明を入力

編集:

$('.add_button').click(function () {
        var data = '';
        $('#valda_grupper_email option').each(function(){
            data += 'valda_grupper_email=' + $(this).val() + '&';
        });

        $.post(
            'mail_visa_kunder.php',
             data,
             function(data){
                $("#testar3").html(data)
             }   
         );
        return false;
    });
});

Edit2: 投稿する値は 1 つだけですが、選択する必要はありません。解決策に近い:)

var emails =  '';
$('.add_button').click(function () {
    $('.valj_grupp_email option:selected').each(function () {
        $("<option/>").
        val($(this).val()).
        text($(this).text()).
        appendTo(".valda_grupper_email");

        $('.valda_grupper_email option').each(function(){
            emails += 'valda_grupper_email=' + $(this).val() + '&';
        });
        $.post(
            'mail_visa_kunder.php',
            emails,
            function(data){
            $("#testar3").html(data)
            }   
        );
        return false;
    });
});
4

2 に答える 2

0

jsフィドル

var all_options = [];

$("#valda_grupper_email option").each(function()
{
    all_options.push(this.value);
});

var myJsonString = JSON.stringify(all_options);

jqueryでjson文字列を送信できるようになりましたPOST

于 2013-03-31T21:03:22.727 に答える