0

選択したコンテンツをあるリストボックスから別のリストボックスに(複製せずに)コピーしようとすると、問題が発生します。「プロパティの値を取得できません:オブジェクトがnullまたは未定義です」という例外が発生し続けます。

以下は私のコードです

function CopyItem(from, to) {
    var src = document.getElementById(from);
    var dest = document.getElementById(to);

    for (var i = 0; i < src.options.length; i++) {
        if (src.options[i].selected) {
            var found = false;

            for (var j = 0; j < dest.options.length; j++) {
                if (dest.options[j].value == src.option[i].value) {
                    found = true;
                    break;
                }
            }

            if (!found) {
                var newOption = document.createElement("option");
                newOption.text = src.options[i].text;
                newOption.value = src.options[i].value;
                dest.options[dest.options.length] = newOption;
            }
        }
    }
}

@Html.ListBox("lvDataList", Model.DataList, new { id = "SelectionList", Multiple = "multiple", Size = 15, style = "width: 100%;" })
@Html.ListBoxFor(x => x.SelectedData, Model.SelectedDataList, new { id = "SelectedList", Multiple = "multiple", Size = 15, style = "width: 100%;" })
<input type="button" id="btnAdd" title="Add Selected Events" onclick="CopyItem('SelectionList', 'SelectedList', true)" />

誰かが私が間違ってコーディングした場所を説明できますか?ありがとう。

4

2 に答える 2

1

私はあなたが並んでいるsrc.options代わりに持っているべきだと思いますsrc.option

 if (dest.options[j].value == src.option[i].value) {
于 2012-10-23T08:21:31.383 に答える
0

試すif (dest.options[j].value == src.options[i].value)

代わりはif (dest.options[j].value == src.option[i].value)

于 2012-10-23T08:23:18.077 に答える