1

输入密码后,我正在尝试用常规文本框替换密码文本框。此代码仅在第一个密码文本框不为空时才有效,但它也会在每个密码文本框上执行代码。

if ($('input[type=password]').val() != "") {
                    $('input[type=password]').hide(); 
                    $('input[class=showPswd]').show(); 
                }

我认为这样的事情会起作用,但事实并非如此。

if ($('input[type=password]').val() != "") {
                        $(this).find('input[type=password]').hide(); 
                        $(this).find('input[class=showPswd]').show(); 
                    }

如何让代码查看每个密码文本框并在文本框为空时仅替换该文本框?

谢谢

编辑:这是一般布局。还有更多行几乎相同。

                <td class="style1">
                    QA :</td>
                <td class="style2">
                <asp:DropDownList ID="DropDownList4" runat="server">                   
                    </asp:DropDownList>
                    </td>

                <td style="vertical-align:middle">
                    <asp:TextBox ID="TextBox4" runat="server" textmode="Password"></asp:TextBox>
                        <asp:TextBox ID="TextBox21" runat="server" style="display:none;" class="showPswd" value="Accepted"></asp:TextBox>

                    <asp:Label ID="Label4" runat="server" Text=""
                    ></asp:Label>
                    </td>                
            </tr>
4

1 回答 1

2

利用each()函数,对每个输入密码的文本框进行操作,如下所示

    $('input[type=password]').each(
    function ()
    {
    if ($(this).val() != "")  
     { 
              $(this).hide(); 

              //just replace this line as you need not sure what is does 
              //$(this).find('input[class=showPswd]').show();
     } 

  });
于 2012-08-22T14:38:00.680 回答