我需要用ajax响应中的post\\u meta填充表单字段。
一切正常。
我可以硬编码每段数据的交换。meta进入其表单字段。但这种方法是不可重用的。
是否有一种方法可以循环浏览数据。改为meta?
在某些情况下,可能没有针对所有表单字段的meta。在某些情况下,可能存在不适用于表单的元。
这适用于引导模式窗口中的窗体。
$.ajax({
...
success: function (data) {
if (data.status === \'success\') {
$(\'#title\').val(data.title);
$.each(data.meta, function(key,value) {
alert(key + \'---\' + value[0]);
// if key is a form element, add the value to that element
// if key is a form element that is a select dropdown,
// then mark that option as selected
});
}
}
});
最合适的回答,由SO网友:shanebp 整理而成
这对我来说是可行的,并且是可重用的。它假定表单字段ID与post\\u元键匹配。
if (data.status === \'success\') {
// populate form with post_meta
$.each(data.meta, function(key,value) {
//alert(key + \'---\' + value[0]);
var $form_element = $("#" + key);
if ( $form_element.length > 0 ) {
// check if $form_element is a selector
if( $form_element.prop(\'type\') == \'select-one\' )
modal.find($form_element).val(value).change();
else
modal.find("#" + key).val(value);
//modal.find($form_element).val(value);
}
});
}