2012-04-17 10 views
0

は、私は名前と値のペアのSelectListの(myUsers、「キー」、「バリュー」)が移入リストボックスを持っていると言う:リストボックスからSelectListのをobejctを取得し、HTML選択リストに入れる

@Html.ListBox("ListReviewers", (SelectList)ViewBag.ListOFReviewers, new { style = "width:120px;" }) 

私が欲しいですこのリストボックスでオプションをクリックし、以下のようなSelectionListに配置倍増する:

<div class="selectedEmployees"> 
    <select class="selectionList" multiple="multiple" name="AssignedReviewer" style="width:120px;"> 
    <!--x.UserID, x.FirstName + " " + x.LastName) --> 
    <option value=""></option> 
    </select> 
</div> 

このコレクションは、上記に配置されると、私は後で使用するために別のSelectionListコレクション内のすべての値を格納したいです。ここで

は私のjQueryのコードの先頭である:

<script type="text/javascript"> 

$('#ListReviewers').dblclick(function (i, selected) { 
    //double click on this value of listbox of type SelectList(myUsers, "Key", "Value") 

    //store this value and text 
    var value = $(this).val; 
    //var empName = $(this).data[0]; 
    var empName = $(selected).text(); 

    alert(empName); 

    //append an option element <option value=""></option> 
    $('.selectionList').append('<option id="' + value + '">' + empName + '</option>'); 

}); 

私はdblclickedコレクションオブジェクトの値ではなく、コレクションオブジェクトのテキストを取得することができます。これを行うより良い方法はありますか?

答えて

0

イベントをセレクト内のoptionに添付してみてください。 thisを使用してそのプロパティにアクセスできます。また

$('#ListReviewers option').dblclick(function() { 
    var value = $(this).val(); 
    var empName = $(this).text(); 

    $('.selectionList').append('<option id="' + value + '">' + empName + '</option>'); 
}); 

、あなたは他に1 selectからoptionを移動するclone()append()を使用することができます。これにより、重複するオプションが追加される心配がありません。

$('#ListReviewers option').dblclick(function() { 
    var $newOptions = $(this).clone(false); 
    $(this).remove(); 

    $('.selectionList').append($newOption); 
}); 
+0

私が$(this).text()を使用すると、$(this)を使用していても、SelectList全体全体からテキスト値がすべて返されます。私もちょうど$を試しました。また、デバッグ中に$(これ)上にカーソルを置くと、SelectListオブジェクト全体が表示されていましたが、$(this).val()上にカーソルを置くと、選択したdblclick値が表示されます。 –

+0

初期セレクタを '$( '#ListReviewers option')'に設定しましたか? –

+0

私はそれを試みましたが、 'オプション'を追加するとdblclickで実行されません –

関連する問題