如何为列表框设置多个选定值

时间:2014-07-16 20:18:48

标签: asp.net .net c#-4.0

selectedCityGuid我无法为多选列表框设置选定值。 我的上面的代码总是将最后一个值(ie.paris)设置为选定的值。 但我需要为列表框设置多个选定的值。 以下是我的代码。

<select size="4" name="lstcity" multiple="multiple" id="lstcity" style="height:100px;">
    <option value="40faf89d-4b22-4954-96f1-86b17720e7a6">Newyork</option>
    <option value="994a3301-a9d3-4f11-9d0e-8eb040a6150e">London</option>
    <option value="7adb079a-3403-45d9-b166-f463d9cd6031">Shangai</option>
    <option value="748dfec6-b854-4395-8d98-5dc2399e658d">Dubai</option>
    <option value="ec3edc8c-f8ad-406a-9635-51585948872f">Paris</option>
    <option value="B3F3A7AC-F27C-4B9D-8625-CB03DA9286D9">Berlin</option>
</select>


var selectedCityGuid = "40faf89d-4b22-4954-96f1-86b17720e7a6|ec3edc8c-f8ad-406a-9635-51585948872f"; //newyork|paris

 if (!string.IsNullOrEmpty(selectedCityGuid))
{
    var cityGuids = selectedCityGuid.Split('|');
    foreach (string id in cityGuids)
    {
            lstcity.SelectedValue = id;
    }

1 个答案:

答案 0 :(得分:0)

设置SelectedValue可能会覆盖以前的SelectedValue。尝试

var cityGuids = selectedCityGuid.Split('|');
for (var i=0; i<listcity.options.length; i++) {
    if (cityGuids.Contains(listcity.options[i].value))
        listcity.options[i].selected = true;
}