动态生成的HTML selectedIndex返回null

时间:2016-09-16 19:00:58

标签: javascript html

我试图在不完全重做程序的情况下重构旧代码。

我的战略命名对象是来自vendor的字符串的值。 (vendor = "Ansys" or vendor = "Cadence")

var Ansys = {key:'ansyskeys', loaded:0, display: "none", otherkey: 'anotherkey'};
var Cadence = {key:"cdskeys", loaded:0, display: "none", otherkey: 'cotherkey'};

我之前的HTML代码是静态的,有许多条目如下:

<div id="ansyskeys" style="display:none">
    <select id="anotherkey" size="5" onchange="selectOther('anotherkey')"></select>
</div>

为了替换它,我做了一个函数 - 使用eval,安全性无关紧要:

function createDiv()
    {
    var vendorKey = eval(vendor).key;
    var otherVendorKey = eval(vendor).otherkey;
    var myDiv = document.createElement('div');
    var html = '<select id="' + otherVendorKey + '" size="4" onchange="selectOther('+ otherVendorKey + ')"></select>';
    myDiv.innerHTML = html;
    myDiv.id = vendorKey;
    document.body.appendChild(myDiv);

    }

我正在收到我想要的结果,但是,当我尝试在函数selectOther中使用selectedIndex时,看来mk为null。

    function selectOther(wid) 
    {
    var mk = document.getElementById(wid);
    alert(mk);
    var index = mk.selectedIndex;
    key = mk.options[index].value;
    setKey ();
    getKeyStats ();
    }

HTML似乎有效,但似乎无法识别来自wid的id。任何帮助将非常感激。

0 个答案:

没有答案