2011-01-06 25 views
1

私は10のリストボックスのすべての10のリストボックスのための10のリストボックスを持っています同じ機能がいくつかのボタンを使用しています私はリストボックスのデータをグリッドに追加したいのですか?コードは、私は誰もが言うことができます0を与えlistbox.items.count保存しようとすると、HTMLの入力ボタンの問題を使用して、リストボックスの間で項目を移動するためのコード上でJavaScriptを試してみましたポストバックが発生するJavaScriptリストボックスの項目がasp.netで失われた

function MoveItem(ctrlSource, ctrlTarget) { 

    var Source = document.getElementById(ctrlSource); 

    var Target = document.getElementById(ctrlTarget); 



    if ((Source != null) && (Target != null)) { 

     while (Source.options.selectedIndex >= 0) { 

      var newOption = new Option(); // Create a new instance of ListItem 

      newOption.text = Source.options[Source.options.selectedIndex].text; 

      newOption.value = Source.options[Source.options.selectedIndex].value; 



      Target.options[Target.length] = newOption; //Append the item in Target 

      Source.remove(Source.options.selectedIndex); //Remove the item from Source 

     } 

    } 

}の下に表示します私はなぜこれが起きているのか、ポストバックが発生したときリストボックス項目が失われました。

+0

jQueryを使用してリストボックス間でアイテムを転送することができます:http://dpatri.com/technology/jquery/move-list-box-items-from-left-to-right-using-jquery/ –

答えて

2

親愛なる、
これは通常のことですが、クライアント側をリストボックスに変更しても、サーバー側には反映されません。 ボタンにonclientclickイベントを追加し、リストボックスクライアント側からアイテムを読み込んでAJAXを使用してそれらを保存するか、リストボックスクライアント側からアイテムを読み込んで隠しフィールドに文字列として格納して読むことができます隠しフィールドサーバー側の値。

クライアント側からすべての項目を読み取り、独自の形式で文字列としてフォーマットすることができます。

次に、ページにasp hiddenフィールドを追加し、クライアント側では、隠しフィールドのvalueプロパティにある文字列を配置します。

これで、サーバー側のonclickイベントから文字列にアクセスし、リストボックスの項目を抽出することができます。

+0

sorry.I donあなたが私に例を挙げてくれたらどうですか? – Jijil

+0

私の答えが更新されました。 –

関連する問題