假设我有一个ListBox,其中填充了名称值对SelectList(myUsers,“Key”,“Value”):
@Html.ListBox("ListReviewers", (SelectList)ViewBag.ListOFReviewers, new { style = "width:120px;" })
我想双击此ListBox中的一个选项,并将其放在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 :(得分:0)
尝试将您的活动附加到选择内的option
。然后,您可以使用this
访问其属性。
$('#ListReviewers option').dblclick(function () {
var value = $(this).val();
var empName = $(this).text();
$('.selectionList').append('<option id="' + value + '">' + empName + '</option>');
});
或者,您可以使用clone()
和append()
将option
从一个select
移至另一个$('#ListReviewers option').dblclick(function () {
var $newOptions = $(this).clone(false);
$(this).remove();
$('.selectionList').append($newOption);
});
。这将节省您不必担心附加重复选项。
{{1}}