0

我的职能。当用户在选择中更改项目时,我得到选定的索引:

$(function itemchange() {
     var index = document.getElementById('columnList').selectedIndex;
     if (index != -1) {
         alert(index);
     }
 });

我的html标签。我把选择项目放在面板中。此面板放置在模态窗口中:

<asp:Panel ID="ModalPanel" runat="server" Width="700px" Height="500px" BackColor="GhostWhite">
    <div>
    <br />
    <div style="float:left;">
        <select size="4" id="columnList" onchange="itemchange" style="height:200px;">
            <option value="Code">Code</option>
            <option value="Name">Name</option>
            <option value="P">P</option>
            <option value="Desc">Desc</option>
            <option value="Object">Object</option>
            <option value="User name">User name</option>
            <option value="Num">Num"</option>
            <option value="Commant">Commant</option>
            <option value="Prod">Prod</option>
            <option value="Test">Test</option>
        </select>
    </div>
    <div style="clear:left;">
     <asp:Button ID="OKButton" runat="server" Text="Close" />
    </div>
    </div>
</asp:Panel>
4

1 回答 1

1

你不应该这样做:

$(function itemchange() {
    var index = document.getElementById('columnList').selectedIndex;
    if (index != -1) {
        alert(index);
    }
});

因为现在函数的作用域不在window对象中。你应该做:

$(function(){
    itemchange();
});

function itemchange() {
    var index = document.getElementById('columnList').selectedIndex;
    if (index != -1) {
        alert(index);
    }
}

然后函数的范围更改为 window 对象,然后在您运行时执行itemchange()。它也会在加载 DOM 时运行(我相信你想要那个)。

于 2013-01-16T09:25:02.397 回答