Как установить элементы, выбранные в списке со значениями, предоставленными массивом? - PullRequest
2 голосов
/ 14 октября 2011

На моей странице APSX у меня есть список (techGroups), в котором есть некоторые элементы, которые предварительно выбраны. Пользователь может изменить выбор. Между тем, у меня есть кнопка сброса. Когда пользователь нажимает кнопку сброса, список будет восстановлен с выбранными предварительно выбранными элементами, а другие нет.

Я пишу следующую функцию javascript для нажатия кнопки сброса. Каким-то образом, после того, как я нажму кнопку сброса, будет выбран только первый предварительно выбранный элемент, остальные остальные - нет.

reset()
{
       var selectedGroups = hiddenfield1.value.split(","); //i saved those preselected items in a hiddenfield
        for (var i = 0; i < techGroups.options.length; i++) {
            for (var j = 0; j < selectedGroups.length; j++) {
                if (techGroups.options[i].value == selectedGroups[j]) {
                    techGroups.options[i].selected = true;
                }
            }
        }
}

Может кто-нибудь помочь мне взглянуть на мой код и сказать, что не так? Спасибо.

Ответы [ 2 ]

1 голос
/ 14 октября 2011

jQuery разрешено? если это так, пожалуйста, посмотрите, как это работает здесь (если нет, пожалуйста, рассмотрите это):

http://jsfiddle.net/sW8HX/4/

0 голосов
/ 14 октября 2011

Может быть ссылка (DOM). Попробуйте это,

JavaScript:

<script type="text/javascript">
window.onload = function () {
    var btnReset = document.getElementById("btnReset");
    btnReset.onclick = function () {
        var hid1 = document.getElementById("hiddenField1");
        var techGroups = document.getElementById("techGroups");

        var selectedGroups = hid1.value.split(","); //i saved those preselected items in a hiddenfield

        for (var i = 0; i < techGroups.options.length; i++) {
            for (var j = 0; j < selectedGroups.length; j++) {
                if (techGroups.options[i].value == selectedGroups[j]) {
                    techGroups.options[i].selected = true;
                }
            }
        }
    };
};
</script>

Markup:

<form id="form1" runat="server">
<div>
    <input type="hidden" id="hiddenField1" value="aa,bb,cc" />
    <select id="techGroups" size="4" multiple="multiple">
        <option value="rr">rr</option>
        <option value="aa">aa</option>
        <option value="cc">cc</option>
        <option value="zz">zz</option>
        <option value="bb">bb</option>
        <option value="dd">dd</option>
    </select>
    <input type="button" id="btnReset" value="Reset" />
</div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...