2

我有一个正在审核的用户下拉列表、一个员工选择列表和一个空的已分配审核者选择列表。当管理员双击 SelectList 中的员工时,它会附加到正在审核的用户的分配审阅者选择列表中。

这是一张视觉图片:

调查 SelectList jQuery 选择的选项 Reviewers Employee

如您所见,我让 jQuery 选择了 Assigned Reviewers SelectList 中的所有选项,但是如果您单击其中一个,它将取消选择其他选项,并且仅将所选选项附加到表中。我将能够禁用此列表,但我希望用户也能够从此列表中删除。我尝试在 bttn 提交时使用此代码,但它只附加了我选择的代码:

        submit_bttn.click(function () {
        $('.selectionList select option').prop('selected', true);
    });

我什至尝试在双击时添加第二个函数以将选定的属性附加到选项中,该选项有效,但一旦用户单击超出范围就会被删除。

我想做的一件事是将值存储在隐藏的输入字段中,但我觉得这是不必要的,并且将是更多用于从列表中删除的代码。

另外,我正在使用剃刀视图:@Html.ListBox(selectList from viewbag)。

任何帮助都会很棒。

4

2 回答 2

9

你忘记了“。” 在 selectionList 的 className 处:

submit_bttn.click(function () {
    $('.selectionList select option').prop('selected', true);
});
  • 如果另一个选择具有类 selectionList 则选择器应该是“select.selectionList option”(没有空格)或只是“.selectionList option”

编辑
根据您的评论,调试问题,挂钩到表单的提交以取消它并查看是否选择了所有选项:

//假设页面上只有一个表单..
$("form").submit(function(event){event.preventDefault() });

于 2012-05-01T06:17:38.130 回答
5

经过一番研究,我发现在DOM中设置属性是选择所有选项并将selected属性设置为true,而不是选中的正确方法。

在 bttn 提交时,所有选项都会突出显示!

    submit_bttn.click(function () {
        $('.selectionList option').each(function () {
            $(this).attr('selected', true);
        });
    });
于 2012-05-01T16:00:33.700 回答