2016-03-25 4 views
0

jQueryを使用してアイテムを移動できるリストボックスが2つあります。コードの概要は、次のとおりですjQueryを使用して移動されたリストボックスアイテムで非表示のフィールドを送信します

<select multiple size="10" id="from">...</select> 
<select multiple id="to" size="10" name="subitted array[]">...</select> 

クリックいくつかのボタンが上記のリストボックスから項目を移動:

<a href="javascript:moveSelected('from', 'to')">&gt;</a>... 
<a href="javascript:moveSelected('to', 'from')">&lt;</a> 
<a href="javascript:moveAll('to', 'from')" href="#">&lt;&lt;</a> 

jQueryの機能:

function moveAll(from, to) { 
    $('#'+from+' option').remove().appendTo('#'+to); 
} 

function moveSelected(from, to) { 
    $('#'+from+' option:selected').remove().appendTo('#'+to); 
} 

を私も持っています以下の関数を呼び出して送信してください:

<form name="selection" method="post" onSubmit="return selectAll()">... </form> 

function selectAll() { 
    $("select option").attr("selected","selected"); 
} 

しかしこれは、POSTによって、右のリストボックスの値だけを返します。フォームにある他のフィールド(例:非表示フィールド)も提出したいと思います。これどうやってするの?

多くのありがとうございます。

答えて

0

あなたのドロップダウンリストがあなたのフォームの中にある場合は、あなたのフォームとその中のすべてのフィールドを送信するだけで特別な扱いが必要です。 JSで

:あなたのHTML内

$('#formId').submit(); 

<button type="submit">Send</button> 

この2つのオプションのいずれかが、私はworkglyあなたの問題を理解していれば、私に知らせてください、あなたの問題に合うでしょう。

また、あなたが「をonSubmit =」「)(のSelectAllを返し、このコードを削除し、通常の作業を提出するフォームを残して、フォームにご回答のため

+0

おかげで、すべてのデータを送信します。はい、あなたは正しいものにしている必要があります しかし、それ以外の何かが間違っています。選択された値だけがリストから送信されています。 –

+0

これを行う最良の方法であるかどうかは分かりませんが、 'onclick =" selectAll()を追加しました。 "ボタンタグとselectAll()メソッドでは、2番目のリストボックスのすべての項目を選択するjavascriptがあります。すべての値はPOSTによって渡されます。御時間ありがとうございます。 –

関連する問題