Захаванне значэнняў у акне выбару некалькіх

У мяне ёсць яваскрипт функцыя ніжэй, каб перайсці ад выбару некалькі скрыні, які запаўняецца з базы дадзеных на іншую множны выбар скрынкі B, у выпадку постбэк маіх каштоўнасці ў B, якія перамяшчаюцца з А згубіліся. Першапачаткова я думаў, таму што я уключыў «RUNAT =» сервер «» тэг на боку сервера дзеянняў, але, мабыць, гэта не так. Я чытаў пра Form.Request, але не маю паняцці, як ісці аб гэтым. Мне проста трэба, каб захаваць гэтыя значэнні ў некалькіх абярыце поле B. Калі ласка, парады. Дзякуючы.

<%-- Move items to and fro select box --%>

function move(sourceFrom, sourceTo) {
    var arrFrom = new Array();
    var arrTo = new Array();
    var arrLU = new Array();
    var i;
    for (i = 0; i < sourceTo.options.length; i++) {
        arrLU[sourceTo.options[i].text] = sourceTo.options[i].value;
        arrTo[i] = sourceTo.options[i].text;
    }
    var fLength = 0;
    var tLength = arrTo.length;
    for (i = 0; i < sourceFrom.options.length; i++) {
        arrLU[sourceFrom.options[i].text] = sourceFrom.options[i].value;
        if (sourceFrom.options[i].selected && sourceFrom.options[i].value != "") {
            arrTo[tLength] = sourceFrom.options[i].text;
            tLength++;
        } else {
            arrFrom[fLength] = sourceFrom.options[i].text;
            fLength++;
        }
    }

    sourceFrom.length = 0;
    sourceTo.length = 0;

    var ii;
    for (ii = 0; ii < arrFrom.length; ii++) {
        var no = new Option();
        no.value = arrLU[arrFrom[ii]];
        no.text = arrFrom[ii];
        sourceFrom[ii] = no;
    }

    for (ii = 0; ii < arrTo.length; ii++) {
        var no = new Option();
        no.value = arrLU[arrTo[ii]];
        no.text = arrTo[ii];
        sourceTo[ii] = no;
    }

    (sourceTo).focus();

    if (sourceTo == (document.getElementById('<%= outletFromBox.ClientID%>'))) {
        (sourceFrom).focus();
    }
    if (sourceTo == (document.getElementById('<%= QualMemTypeFromBox.ClientID %>'))) {
        (sourceFrom).focus();
    }
    if (sourceTo == (document.getElementById('MemStatusFromBox'))) {
        (sourceFrom).focus();
    }
}  

0

1 адказы

Кліенцкія змены ў ListBox не захоўваюцца на боку сервера, так што любыя змены будуць страчаныя, калі адбываецца PostBack; праверыць гэтую спасылку, каб паглядзець, як вы можаце справіцца з гэтым:

HTTP : //www.vijaykodali.com/Blog/post/2007/12/14/Add-Delete-Items-in-DropDownList2c-ListBox-using-Javascript.aspx

Калі ў вас узніклі праблемы пры працы з гэтым рашэннем, дайце мне ведаць, і пакіньце свой ASPX код старонкі ... мы можам сабраць рашэнне для вашага дакладнага выпадку.

0
дададзена