我在分类法中有一个自定义表单字段。然而,当添加了新的术语/标记时,我需要通过javascript清除一些值。我该怎么做?
我在WordPress中找到以下代码段:
a.post(ajaxurl,a("#addtag").serialize(),function(h)
{
a("#ajax-response").empty();
var f=wpAjax.parseAjaxResponse(h,"ajax-response");
if(!f||f.errors){return}
var g=b.find("select#parent").val();
if(g>0&&a("#tag-"+g).length>0){
a(".tags #tag-"+g).after(f.responses[0].supplemental.noparents)}
else
{a(".tags").prepend(f.responses[0].supplemental.parents)}
a(".tags .no-items").remove();
if(b.find("select#parent")){
var e=f.responses[1].supplemental;
var c="";
for(var d=0;d<f.responses[1].position;d++){c+=" "}
b.find("select#parent option:selected").after(\'<option value="\'+e.term_id+\'">\'+c+e.name+"</option>")}
// = NOTE THE FOLLOWING LINE =============
a(\'input[type="text"]:visible, textarea:visible\',b).val("")});
// =======================================
return false})});
它会清除所有可见的文本输入字段,但是我有自己的自定义字段,人们可以选择图像,并且在选择图像后,隐藏的输入字段值会随着所选图像id而更改,图像会通过图像对象显示。
但是,在用户按下“添加新类别”按钮后,我希望能够重置隐藏的输入字段并删除图像对象。
我想知道何时添加了一个类别,以便我可以重置所有必要的内容。
SO网友:montrealist
关于“何时添加新术语/标签”部分,您能否更具体一些?您是自己做的吗,就像您通过admin ajax调用后端一样。php并相应地更新前端?包含一些代码或到JSFIDLE的链接不会有什么坏处。
有一个create_term action 你可以挂在后端。只需将其放入函数中即可。php或插件代码:
function your_create_fn( $term_id, $tt_id, $taxonomy ){
// do your thing here
}
add_action( \'create_term\', \'your_create_fn\', 10, 3 );
或者,如果您自己做,那么您显然可以控制整个过程,这样您就可以确切地知道何时成功添加了一个新术语,并且可以向JS函数返回一些指示您需要清除这些值的内容。