从双面多选控制中获取所选项目

时间:2013-03-11 06:30:00

标签: c# javascript jquery .net linq

我有一个类似于下页中的多选控件 -

http://www.stevefenton.co.uk/cmsfiles/assets/File/twosidedmultiselect.html

很酷。我面临的唯一挑战是如何巧妙地获取所选项目。我假设一些linq查询将帮助我,但我是新手 -

表单示例,

1)如果我们在选择中添加新项目 -

prevSelection = {item1,item2}
newSelection ={item1,item2,item3}

如何找出newSelection中只新添加了item3?

2)如果我们删除了我们选择中的项目 -

prevSelection = {item1,item2}
newSelection ={item1}

如何找出在newSelection中删除item2?

3)更具挑战性,如果我们删除以及在我们的选择中添加一些项目 -

prevSelection = {item1,item2}
newSelection ={item3,item4}

如何找出从newSelection中删除item1和item2,并在newSelection中添加item3,item4?

由于

1 个答案:

答案 0 :(得分:1)

1)

var newItems = newSelection.Except(prevSelection);

2)

var deletedItems = prevSelection.Except(newSelection);

3)

var newItems = newSelection.Except(prevSelection);
var deletedItems = prevSelection.Except(newSelection);