如何使用javascript基于dropdownlist中的值执行乘法运算? [英] how to perform a multiplication operation based on value from dropdownlist, using javascript?

查看:59
本文介绍了如何使用javascript基于dropdownlist中的值执行乘法运算?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个标签和一个dropdownlist..dropdownlist包含许多数值。当用户选择任何下拉列表值时,该值应该乘以一个常数(我在这里从数据库中检索),结果应该立即改变用户点击。我使用label7(隐藏标签)从数据库中检索一个常量数值,并使用label4(可见标签)来显示乘法后的结果......我在得到一个NaN作为结果后...写了下面的代码...... br $>


 <   asp :标签    ID   =  Label4    runat   =  server    style   =  color:white; font-size:medium; font-weight:bold;  >  <   / asp:Label  >  <   asp:Label     ID   =  Label7     runat   = < span class =code-keyword> server    style   =  color:white; font-size:medium; font-weight:bold; visibility:hidden; >  <   / asp:Label  >  

< asp:DropDownList ID = DropDownList1 runat = server 宽度 = 50px onchange = mul () >
< asp:ListItem > 1
< asp:ListItem > 2
< asp:ListItem > 3
< asp:ListItem > 4
< asp:ListItem > 5
< asp:ListItem > 10
< asp:ListItem > 20


< 脚本 类型 = text / javascript >
function mul(){
var lab = document.getElementById('<% = Label7。 ClientID %> ');
var lab1 = document.getElementById('<% = DropDownList1.ClientID %> );
document.getElementById('<% = Label4.ClientID %> ')。 innerHTML = parseInt(lab)* parseInt(lab1);
}
< / script >
最后我的c#code
Label4.Text = dt.Rows [0] [3] .ToString();
Label7.Text = dt.Rows [0] [3] .ToString();

解决方案

试试这个:< br $>


 <   asp :DropDownList     ID   =  DropDownList1    runat   =  server   宽度  =  50px    onchange   =  mul() >  
< asp:ListItem 文本 = 一个 = 1 > 一个< / asp:ListItem >
< asp:ListItem 文本 = 两个 = 2 > 两个< / asp:ListItem >
< asp:ListItem 文本 = = 3 > < / asp:ListItem >
< asp:ListItem 文字 = = 4 > 四个< / asp:ListItem >
< ; / asp:DropDownList >







Javascript代码:

-------------------

  function  mul(){
var lab = document .getElementById(' < ;%= Label7.ClientID%>');
var lab1 = document .getElementById(' <%= DropDownList1.ClientID%>');
document .getElementById(' <% = Label4.ClientID%>')。innerHTML = parseInt (lab.innerHTML)* parseInt (lab1.value);
}


1)你必须为变量提供易于理解的名称

2)你没有提取任何值你的控件到目前为止

3)你必须使用显示而不是可见性来检索你的标签价值



 function mul(){
var lblVisible = document.getElementById(' <%= lblVisible.ClientID%>');
var lblHiddenValue = document.getElementById(' <%= lblHidden.ClientID%>')。innerText;
var selectedValueFromDdl = document.getElementById(' <%= ddlSelection.ClientID%>')。 value ;
lblVisible.innerText = parseInt(lblHiddenValue)* parseInt(selectedValueFromDdl);
}





 <   asp:标签    ID   =  lblVisible    runat   =  server    style   =  color:white; font-size:medium; font-weight:bold; >  <  < span class =code-leadattribute> / asp:Label  >  
< asp:标签 ID < span class =code-keyw ord> = lblHidden runat = server style = color:white; font-size:medium ; font-weight:bold; display:none; > < / asp:标签 >
< asp:DropDownList ID = ddlSelection runat = server 宽度 = 50px onchange = mul() >
< asp:ListItem > 1 < / asp:ListItem >
< asp:ListItem > 2 < / asp:ListItem >
< asp:ListItem > 3 < / asp:ListItem >
< asp:ListItem > 4 < / asp:ListItem >
< asp:ListItem > 5 < / asp:ListItem >
< asp: ListItem > 10 < / asp :ListItem >
< asp:ListItem > 20 < / asp:ListItem >
< / asp:DropDownList >


尝试一些更改:



< asp:ListItem> 1< / asp:ListItem> 





 document.getElementById('<%= Label4.ClientID%>')。innerHTML = parseInt(lab。 innerHTML)* parseInt(lab1.options [lab1.selectedIndex] .value); 


i have two labels and a dropdownlist..dropdownlist contains many numerical values.when user selects any dropdownlist value,that value should be multiplied with a constant number(which i retrieved here from database) and the result should change immediately on each user click. i used label7(hidden label) for retrieving a constant numerical value from database,and label4(visible label) for displaying the result after multiplication..here im getting a NaN as result...after writing the following code....

<asp:Label ID="Label4" runat="server" style="color:white;font-size:medium;font-weight:bold;"></asp:Label><asp:Label ID="Label7" runat="server" style="color:white;font-size:medium;font-weight:bold;visibility:hidden;"></asp:Label>

<asp:DropDownList ID="DropDownList1" runat="server" Width="50px" onchange="mul()">
        <asp:ListItem>1
        <asp:ListItem>2
        <asp:ListItem>3
        <asp:ListItem>4
        <asp:ListItem>5
        <asp:ListItem>10
        <asp:ListItem>20
 

<script type="text/javascript">
      function mul() {
          var lab = document.getElementById('<%= Label7.ClientID %>');
          var lab1 = document.getElementById('<%= DropDownList1.ClientID %>');
 document.getElementById('<%=Label4.ClientID%>').innerHTML = parseInt(lab) * parseInt(lab1);
      }
      </script>
 finally my c# code
        Label4.Text = dt.Rows[0][3].ToString();
        Label7.Text =  dt.Rows[0][3].ToString();

解决方案

Try This :

<asp:DropDownList ID="DropDownList1" runat="server" Width="50px" onchange="mul()">
    <asp:ListItem Text="One" Value="1">One</asp:ListItem>
    <asp:ListItem Text="Two" Value="2">Two</asp:ListItem>
    <asp:ListItem Text="Three" Value="3">Three</asp:ListItem>
    <asp:ListItem Text="Four" Value="4">Four</asp:ListItem>
</asp:DropDownList>




Javascript Code :
-------------------

function mul() {
    var lab = document.getElementById('<% =Label7.ClientID %>');
    var lab1 = document.getElementById('<% =DropDownList1.ClientID %>');
    document.getElementById('<% =Label4.ClientID %>').innerHTML = parseInt(lab.innerHTML) * parseInt(lab1.value);
}


1) You must give comprehensible names to your variables
2) You did not extract any value of your controls so far
3) You have to use display instead of visibility to retrieve the value of your label

function mul() {
    var lblVisible = document.getElementById('<%= lblVisible.ClientID%>');
    var lblHiddenValue = document.getElementById('<%= lblHidden.ClientID%>').innerText;
    var selectedValueFromDdl = document.getElementById('<%= ddlSelection.ClientID %>').value;
    lblVisible.innerText = parseInt(lblHiddenValue) * parseInt(selectedValueFromDdl);
}



<asp:Label ID="lblVisible" runat="server" style="color:white;font-size:medium;font-weight:bold;"></asp:Label>
<asp:Label ID="lblHidden" runat="server" style="color:white;font-size:medium;font-weight:bold;display:none;"></asp:Label>
<asp:DropDownList ID="ddlSelection" runat="server" Width="50px" onchange="mul()">
    <asp:ListItem>1</asp:ListItem>
    <asp:ListItem>2</asp:ListItem>
    <asp:ListItem>3</asp:ListItem>
    <asp:ListItem>4</asp:ListItem>
    <asp:ListItem>5</asp:ListItem>
    <asp:ListItem>10</asp:ListItem>
    <asp:ListItem>20</asp:ListItem>
</asp:DropDownList>


Try some changes:

<asp:ListItem>1</asp:ListItem>



document.getElementById('<%= Label4.ClientID %>').innerHTML = parseInt(lab.innerHTML) * parseInt(lab1.options[lab1.selectedIndex].value);


这篇关于如何使用javascript基于dropdownlist中的值执行乘法运算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆