0

我不能发布我所有的代码,但我会尝试在这里获取重要的部分。我遇到的问题是我从数据库中填充了一个多选框,然后我得到了已经选择的项目并将它们添加到 selected 属性中。这一切都适用于我的测试人员正在使用的 IE 7,不幸的是我在 IE 9 上,而我的大多数用户都在 IE 9 上。此代码在 IE 9 或 Firefox 上不起作用。非常奇怪的是,如果我在调用填充多选的函数后立即发出警报,它将起作用。

通过ajax调用从数据库中获取选定的值后,我使用

var oldValues.push($(this).find("Value_ID).text());     

我对 oldValues 发出警报,它们在那里 31,32,45 然后我使用$("drop2-input").val(oldValues);

如果我在此行之后发出警报,它会起作用。

我花了一天的大部分时间检查每一行代码,没有遗漏分号,没有不合适的大括号,也没有不合适的括号。有谁知道使这项工作的方法。哦,我已经尝试使用超时来暂停刚刚停止加载页面其余部分的代码。

4

1 回答 1

0

这应该适合你。

看看我为你准备的 JSFiddle:http: //jsfiddle.net/douglasloyo/NEtJd/

    var json = [
        {name:"Texas", value:1},
        {name:"Texas Again", value:2},
        {name:"Texas Rocks!", value:3}];

    $.each(json, function(i, value) {
        $('#my-select').append($('<option>').text(value.name).attr('value', value.value));
    });

    <select id="my-select">
        <option>-Select-</option>
    </select>
于 2013-08-09T18:48:07.653 回答