我正在创建此链接,它向管理面板发送一个额外的参数,例如:
/wp-admin/post-new.php?post_type=CPT&msscategory=40
然后,我将一些javascript放入给定页面的队列中(作为操作添加到
admin_footer
):
$screen = get_current_screen();
if ( in_array( $screen->id, array( \'CPT\' ) ) && $screen->action == \'add\' ) {
wp_enqueue_script( \'mark-default-category\', get_stylesheet_directory_uri() . \'/assets/js/custom.js\', array( \'jquery\' ) );
}
然后我想选中类别复选框
id=39
. 但我无法理解HTML。看起来是这样的:
<li id=\'category-39\'>
<label class="selectit">
<input value="39" type="checkbox" name="post_category[]"
id="in-category-39" />
Page 1 (depth 0)
</label>
<ul class=\'children\'>
<li id=\'category-40\' class="popular-category">
<label class="selectit">
<input value="40" type="checkbox" name="post_category[]"
id="in-category-40" />
Page 2 (depth 1)
</label>
<ul class=\'children\'>
<li id=\'category-41\'>
<label class="selectit">
<input value="41" type="checkbox" name="post_category[]"
id="in-category-41" />
Page 3 (depth 2)
</label>
</li>
<li id=\'category-42\'>
<label class="selectit">
<input value="42" type="checkbox" name="post_category[]"
id="in-category-42" />
Page 3 (depth 2)
</label>
</li>
<li id=\'category-43\'>
<label class="selectit">
<input value="43" type="checkbox" name="post_category[]"
id="in-category-43" />
Page 4 (depth 2)
</label>
</li>
</ul>
</li>
</ul>
可以看出,然后
input
-复选框没有调用属性(attr)或属性(prop)
checked
. 这是单击前的标签:
<label class="selectit">
<input value="43" type="checkbox" name="post_category[]"
id="in-category-43" />
Page 4 (depth 2)
</label>
这是单击后的一个:
<label class="selectit">
<input value="43" type="checkbox" name="post_category[]"
id="in-category-43">
::before
</input>
Page 4 (depth 2)
</label>
所以所发生的一切就是
input
-field不再自动关闭-但
::before
已添加。
现在,-我如何使用jQuery做到这一点?
这是我最近的一次。
var finding_the_checkbox = jQuery(\'#category\' + just_the_category_ID ).find("label");
findind_the_checkbox.click()
。。。在阐述这一点时,我找到了解决方案。我将在下面发布(因为我在其他任何地方都找不到答案。互联网需要这个!