jQuery函数只触发一次

时间:2012-01-19 09:11:27

标签: jquery

function dowork() { 
    $("div#TestPart select option[value^=HMT]").addClass("wrappedElement"); 
} 

protected void Page_Load(object sender, EventArgs e)
{
    lstDepartment.Attributes.Add("onchange","return dowork();");
}

dowork是我的javascript函数,它会在列表框项目点击时触发,但是当我第一次单击时它会正常触发,但是当我在列表项目上再次单击时它不会触发。

我不明白问题是什么。请帮助我,并提前感谢您的建议。

    *<div id="sidebar"> 
     </div>
    <div id="main">
    <div id="header">
        <asp:Label ID="lblPackageName" runat="server" Text="Package Name"></asp:Label>
        <asp:TextBox ID="txtPackageName" runat="server"></asp:TextBox>
         <asp:Label ID="Label1" runat="server" Text="Sex"></asp:Label>

        <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem>--Select--</asp:ListItem>
            <asp:ListItem>Male</asp:ListItem>
            <asp:ListItem>Female</asp:ListItem>
            <asp:ListItem>Both</asp:ListItem>
        </asp:DropDownList>
   </div>
    <div id="DepPart"> 
        <asp:ListBox ID="lstDepartment" runat="server" 
            onselectedindexchanged="lstDepartment_SelectedIndexChanged" 
            AutoPostBack="True"></asp:ListBox>
      </div>
      <div id="TestPart">
          <asp:ListBox ID="lstTest" runat="server" 
              onselectedindexchanged="lstTest_SelectedIndexChanged" AutoPostBack="True"> </asp:ListBox>
      </div>
       <div id="SubTestPart">
          <asp:ListBox ID="lstSubTest" runat="server"></asp:ListBox>
      </div>
       <div id="SelectedTestPart">

<asp:ListBox ID="lstSelectedTest" runat="server"></asp:ListBox>
      </div> 
     </div>*




  <script type="text/javascript" language="javascript">

function dowork()
{
   $("div#TestPart select option[value^=HMT]").addClass("wrappedElement");
}

</script>

1 个答案:

答案 0 :(得分:0)

您可以在dowork函数中添加“alert()”或“console.log()”,以查看处理程序是否无效或只是起作用。您也可以打开浏览器控制台并键入dowork()以手动启动它,看看这是否是您需要的。也许多次将同一个类添加到同一个元素有什么问题?没有剩下的代码就很难说清楚。

这是盲人拍摄,但也许在第二次推出dowork()之后没有这个类WrappedElement没有元素?那是你要的吗?也许你应该删除那个类:

$(".wrappedElement").removeClass("wrappedElement");