我刚刚看了一遍JQuery的w3schools教程。我正在尝试在seam/richfaces应用程序中编写一个函数。我有一个搜索图标和搜索图标的单击,我想切换UI中的某些字段。但是什么都没有发生,并且我在firebug中看不到任何错误。请帮帮忙。
<rich:dataTable id="acctListTbl" value="#{accounts}" var="account" width="100%">
<rich:column>
<f:facet name="header">
<h:panelGroup>
<h:graphicImage id="srchIcon" value="/images/search_icon.png"
styleClass="search-icon"/>
<h:outputText value="Action" />
</h:panelGroup>
</f:facet>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#acctListTbl:srchIcon").click(function(){
jQuery('.search-field').toggle();
});
});
</script>这是html。正如user914670所指出的,我的搜索图标呈现中并没有添加jquery处理程序。那么到底出了什么问题呢?
<div id="j_id12:acctListTbl:j_id31header:sortDiv">
<img id="j_id12:acctListTbl:srchIcon" class="search-icon"
src="/xxxx/images/search_icon.png">
Action
</div>发布于 2011-08-27 03:25:40
jQuery(document).ready(function(){
jQuery(".search-icon").click(function(){
jQuery('.search-field').toggle();
});
}); 或者,如果您喜欢if,您可以这样做
jQuery(document).ready(function(){
jQuery("[id$=srchIcon]").click(function(){
jQuery('.search-field').toggle();
});
}); $=的意思是以
^=的意思是以
*=表示包含
此外,我还会查看火狐中使用的SelectorGadget。它可以很好的找到你需要的选择器语句来获取某个元素。
我要做的最后一件事是确保我在一个事件中,将一个alert语句放在函数的旁边,让我知道我的select语句是正确的。
发布于 2011-08-27 02:45:32
您的标记中不存在类.search-field
发布于 2011-08-27 03:01:34
jQuery("#acctListTbl:srchIcon")只需为jQuery("#srchIcon")
因为id在页面上是唯一的,所以它们不需要限定。此外,判断Jquery是否正在创建事件处理程序的一种简单方法是查看呈现的代码,查看图像是否有JQuery="{some random numbers}"标记。
https://stackoverflow.com/questions/7209183
复制相似问题