我已经编写了一个wordpress插件,我在其中打印主流,当用户点击主流时,它切换属于主流的主题。但是,它适用于前端。
我也希望在wordpress后端实现这一点。 除了切换功能外,每件事都有效。
我在wordpress的admin-header文件中包含了jquery。
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// dynamically handlling main streams and their subjects
// when a main stream is selected, it is sub categories(subjects) div will
// be toggle.
// alert(subClicked);
$(".main_stream").click(function() {
var subClicked = $(this).attr('id');
// $(".stream").hide();
// alert(subClicked);
console.log("value is "+subClicked);
$("#" + subClicked + "sub").toggle();
});
});
</script>
我尝试使用firbug进行调试,但是当我点击主流时,它不会进入$(".main_stream").click(function()
。什么都没有改变。
我错过了什么,我是wordpress的新手。我不确定如何在wordpress管理面板中处理jquery。任何人都可以给我一个提示吗?
生成的Html的一部分
<div id="Statisticssub" class="hide" "="" style="padding-left: 20px;">
<input type="checkbox" id="Technology_Solutions" value="" class="main_stream" checked="checked"/>
Technology Solutions
<br/>
<div id="Technology_Solutionssub" class="hide" style="display: block;" "="">
<div style="width: 350px; height: 30px; padding-top: 5px;">
<div style="width: 350px; height: 20px; padding-top: 5px;">
<div style="width: 260px; float: left; padding-top: 5px;">
<input type="checkbox" id="16" name="check_subjects[]"/>
C#
</div>
<div style="width: 75px; height: 10px; float: left; padding-right: 15px;">
</div>
<div style="width: 350px; height: 20px; padding-top: 5px;">
<div style="width: 260px; float: left; padding-top: 5px;">
<div style="width: 75px; height: 10px; float: left; padding-right: 15px;">
</div>
答案 0 :(得分:1)
我无法确定,但是当注册了click的事件处理程序时,听起来似乎该类不存在,即使您已将其包装在doc.ready块中。您可以尝试将处理程序签名从.click
更改为.on
,同时将原始选择器中的输入的父元素和处理程序中的main_stream类作为目标:
$("#Statisticssub").on('click', '.main_stream', function() {
var subClicked = $(this).attr('id');
// $(".stream").hide();
// alert(subClicked);
console.log("value is "+subClicked);
$("#" + subClicked + "sub").toggle();
});
.click
会在Selector中查找您要定位的元素,如果它不在那里,则处理程序无法附加。 .on
调用委托此工作,并允许事件触发可能稍后添加的内容。
在此处阅读更多内容:http://api.jquery.com/on/
答案 1 :(得分:0)
当我从后端添加javascript以生成时,问题就解决了。我不确定为什么在标题中的javascript被丢弃之前。