0

好吧,我也是 javascript 和 sap.net 的新手。我一直在尝试这个,但认为代码不正确。

    <html>
<head runat="server">
<script type="text/javascript">
    function GetCal(lbl) 
    {
        var ddl = document.getElementById("<%=DropDownList1.ClientID%>");
        var SelVal = ddl.options[DropDownList1.selectedIndex].text;
        var a = parseInt("50");
        var data = a * SelVal;
        document.getElementById('lbl').innerHTML = data;

    }
    </script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server" onchange="GetCal(Label1)">
        <asp:ListItem Text="Select" Value="0" />
                     <asp:ListItem Text="1"/>
                     <asp:ListItem Text="2"/>
                     <asp:ListItem Text="3"/>
                     <asp:ListItem Text="4"/>
                     <asp:ListItem Text="5"/>
        </asp:DropDownList>
        <asp:Label ID="Label1" runat="server" Text="text"></asp:Label>
        <asp:Label ID="Label2" runat="server" Text="text"></asp:Label>
    </div>
    </form>
</body>
</html>

这里 onchange="GetCal(Label1)" 将标签 ID 作为参数传递,但此代码不会更改 Label1 上的文本。

这里 document.getElementById('lbl').innerHTML = data; 尝试更改文本。但我想这些不是正确的方法,请帮助了解正确的语法。

希望我能够将不同的标签作为参数传递给函数,以便我可以在需要时使用不同的标签,并通过从 DropDownList 中选择项目来更改标签上的文本。以及如何对许多 DropDownLists 使用相同的功能。假设我们有两个 DropDownList,我需要在从 DropDownList 中选择项目时执行相同的任务,但这里 var ddl = document.getElementById("<%=DropDownList1.ClientID%>"); 函数只有大家熟悉的DropDownList1。

那么,我需要做出哪些改变。

期待一些帮助谢谢。

4

1 回答 1

0

您可以简单地使用“this”关键字,如下所示:

<asp:DropDownList ID="DropDownList1" runat="server" onchange="GetCal(this);">
    <asp:ListItem Text="Select" Value="0" />
                 <asp:ListItem Text="1"/>
                 <asp:ListItem Text="2"/>
                 <asp:ListItem Text="3"/>
                 <asp:ListItem Text="4"/>
                 <asp:ListItem Text="5"/>
    </asp:DropDownList>
于 2014-03-31T05:58:42.200 回答