datalist里,有两个控件,先在想通过一个checkbox激发一个js事件,对比这两个控件的值,如果一样的话,背景不变,如果不一样,背景都变成红色<td style="border: 1px solid #C0C0C0; width: 40%; " id="td13" runat="server">
                                        
                                        <asp:TextBox ID="TextBox1" runat="server" BorderStyle="None" Width="100%" ></asp:TextBox>
                                        <asp:Label ID="Label1" runat="server" Text='<%#Eval("aaa")%>' Width="100%" ></asp:Label>
                                    </td>其中textbox1可以由用户输入,label1的值已经从数据库中读取出来,请问怎么写这个js?

解决方案 »

  1.   

    你的意思是比较 label1的text和textbox1的text是不是一样?若不一样,label1和textbox1背景都变成红色?
      

  2.   

    出来的 html 是什么样的 。
      

  3.   


    <script type="text/javascript">
                function a() {
                    var datalist = document.getElementById("dgrid");
                    var name="";
                    for (var i = 1; i < datalist.rows.length; i++) {
                        name += datalist.rows[i].cells[0].innerText;
                    }
                    alert(name);
                }
        </script>
      

  4.   

    麻烦把整个html代码贴出来,你的datalist里有n个tr,td。每个td里有一个label,textbox。里面的都要进行比较?
      

  5.   

    document.getElementById("<%=DateLis1.ClientID%>").getElementsByTagName("input")[0].valuevar gv = document.getElementById("<%= DateLis1.ClientID %>");
    var txt= gv.getElementsByTagName("input");
    for(var i=0;i<txt.length;i++)
    {
    }
      

  6.   


     var Array1s = document.getElementById("datalist1");
     var textbox1values = document.getElementById("<%= TextBox1.ClientID %>").value;
    var lbl1values = document.getElementById("<%= Label1.ClientID %>").value;
    if(textbox1values != lbl1values )
    {
    document.getElementById("<%= TextBox1.ClientID %>").style.color = "Red";
    document.getElementById("<%= Label1.ClientID %>").style.color = "Red";
    }         试试行不行
      

  7.   


      <script type="text/javascript">
                function a() {
                    var datalist = document.getElementById("dgrid");
                    for (var i = 1; i < datalist.rows.length; i++) {
                        if (datalist.rows[i].cells[2].innerText == datalist.rows[i].cells[7].innerText) {
                            datalist.rows.style.backgroundColor = "red";
                        }
                    }
                    
                }
        </script>
      

  8.   

    你的这个
    var Array1s = document.getElementById("datalist1");
    起什么作用,报错是找到textbox1和label1啊,他们在datalist1里面,能这个取到他们的值吗?
      

  9.   


    datalist不循环能拿到里面的值?
      

  10.   

    晕,datalist能有cell的属性吗?
    我这两个控件在同一列里
      

  11.   

    var Array1s = document.getElementById("datalist1");
    这一句注释掉,不用。    <script type="text/javascript" language="javascript">
       function setstyle()
    {
        var textbox1values = document.getElementById("<%= TextBox1.ClientID %>").value;
    var lbl1values = document.getElementById("<%= Label1.ClientID %>").value;
    if(textbox1values != lbl1values )
    {
    document.getElementById("<%= TextBox1.ClientID %>").style.color = "Red";
    document.getElementById("<%= Label1.ClientID %>").style.color = "Red";
    }  
    }
        </script>checkbox激发的js事件里调用setstyle方法即可
      

  12.   

    这样吧,楼主把整个html贴上来,我帮你把这个js搞定,js写起来很麻烦,又不能调试
      

  13.   


    只是给你说说实现方法,你可以按照这样的方法去试试,你说的没有cells属性你自己百度下datalist是什么
      

  14.   

    没装插件的话不能断点,我现在写js就没有断点,全靠alert来调试的
      

  15.   

    js只能alert这样找原因啊,所以用着感觉费劲
      

  16.   

    是生成后html的代码,还是.aspx的代码?
      

  17.   

    全部的,对比的是textbox13和label13<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Word.aspx.cs" Inherits="Word" %><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript" >
        function playsound()
    {
    //var tmp="<bgsound src='sound/newalert.wav' loop='1'></bgsound>";
    //document.getElementById("HiddenField1").innerHTML=tmp;
    //document.write(tmp);
    }
    function ReSize() {
        var table_all = document.getElementById("table_all");
        var table_height = parseInt(table_all.offsetHeight);
        var td99 = document.getElementById("td99");
        td99.style.height = table_height - 28 + "px";
    }
    window.onload=function()
    {
        ReSize();
    }
    window.onresize = function() {
        ReSize();
    }
    function   setfocus()      
         {      
         if(event.keyCode==13)      
         {      
          event.keyCode=9      
         }      
         }   </script>
    <link href="style.css" rel="Stylesheet" type="text/css" />
    </head>
    <body onkeydown="setfocus()">
        <center>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                <table width="100%" height="100%" style="background-color:#bed6fa;" id="table_all">
                  <tr>
                    <td class="subtop">
                    <font style="padding:0px 5px 0px 10px">
                        <asp:DropDownList ID="DropDownList1" 
                            runat="server" DataTextField="Word_Title" 
                        DataValueField="Word_Title" AutoPostBack="True" 
                            onselectedindexchanged="DropDownList1_SelectedIndexChanged" 
                            CssClass="downlist">
                    </asp:DropDownList></font>
                    <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" 
                            onclick="a();" Text="Check" 
                            style="font-size: 14px;" />
                    </td>
                  </tr>
                  <tr>
                    <td style="width:100%;background-color:#fff;font-size:2px;" valign="top" 
                          id="td99" >                    
                     <div style="width: 100%; height: 100%; overflow: auto">
                        <asp:DataList ID="DataList1" runat="server" 
                             onitemdatabound="DataList1_ItemDataBound">
                            
                            <HeaderTemplate>
                                    <tr style="font-size: 13px">
                                        <td style="border: 1px solid #C0C0C0; font-weight: bold; background-color: #FFFFCC; width: 20%;">
                                            顺序</td>
                                        <td style="border: 1px solid #C0C0C0; font-weight: bold; background-color: #FFFFCC; width: 40%;">
                                            提示</td>
                                        <td style="border: 1px solid #C0C0C0; font-weight: bold; background-color: #FFFFCC; width: 40%;">
                                            填写</td>
                                    </tr>
                            </HeaderTemplate>
                            
                            <ItemTemplate>
                            <tr style="font-size: 13px">
                                        <td style="border: 1px solid #C0C0C0; font-weight: bold; background-color: #FFFFCC; width: 20%;" id="td11" runat="server"> 
                                        <asp:Label ID="Label11" runat="server" Text='<%#Eval("Word_Order")%>'  
                                            Width="100%"></asp:Label>
                                        </td>
                                        <td style="border: 1px solid #C0C0C0; font-weight: bold; background-color: #FFFFCC;width: 40%;" id="td12" runat="server">                                        
                                            <asp:Label ID="Label12" runat="server" Text='<%#Eval("Word_First")%>' Width="100%"></asp:Label>
                                        </td>
                                        <td style="border: 1px solid #C0C0C0; width: 40%; " id="td13" runat="server">
                                            
                                            <asp:TextBox ID="TextBox13" runat="server" BorderStyle="None" Width="100%" ></asp:TextBox>
                                            <asp:Label ID="Label13" runat="server" Text='<%#Eval("Word_Two")%>' Width="100%" ></asp:Label>
                                        </td>                        </tr>
                            </ItemTemplate>
                        </asp:DataList>
                        
                    </div> 
                    </td>
                    
                    </tr>
                    </table>
                </ContentTemplate>
            </asp:UpdatePanel>   
        </div>
        </form>
        </center>
    </body>
    </html>
      

  18.   

    function CompareValue(){
    var tb = document.getElementById("datalist1");
    var textBox = null,lable = null;
    for(var i=1;i<tb.rows.length;i++){
    for(var j=0;j<tb.rows[i].childNodes.length;j++){
    if(tb.rows[i].childNodes[j].type == "text"){
    textBox = tb.rows[i].childNodes[j];
    }
    if(tb.rows[i].childNodes[j].tagName == "span"){
    lable = tb.rows[i].childNodes[j];
    }
    if(textBox != null && lable != null){
    if(textBox.value != lable.innerText){
    textBox.style.backgroundColor = "red";
    lable.style.backgroundColor = "red";
    }
    }
    }
    }
    }
      

  19.   


     function a() {
                    var datalist = document.getElementById("DataList1");
                    for (var i = 0; i < datalist.rows.length; i++) {
                        var lbl1 = "DataList1_ctl0" + i + "_Label2";
                        var lbl2 = "DataList1_ctl0" + i + "_Label3";
                        if (document.getElementById(lbl1).innerText == document.getElementById(lbl2).innerText) {
                            datalist.cells[i].style.backgroundColor = "red";
                        }
                    }
                    
                }
    <asp:DataList ID="DataList1" runat="server">
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("Status") %>'></asp:Label>
                        <asp:Label ID="Label3" runat="server" Text='<%# Eval("Status") %>'></asp:Label>
                    </ItemTemplate>
                </asp:DataList>
      

  20.   


    var lbl1 = "DataList1_ctl0" + i + "_Label2";
                        var lbl2 = "DataList1_ctl0" + i + "_Label3";
    这两个右键看看生成的html是什么
      

  21.   

    帖子地址http://topic.csdn.net/u/20110414/09/29ec2fe5-b0a1-4072-ae12-917621fceba5.html兄弟,我都追你到这儿来了啊。上次你给我贴的excel上传到mssql的代码少了一部分,还请你把全部代码给我参考,分都给你,只为了实现这样一个功能啊!麻烦了。文档发到我邮箱里也行[email protected]