因此,我正在使用jQuery克隆从数组创建的一些div。这里有一个例子。
我有一个下拉列表,其中包含要添加到元框的项目。
添加按钮根据下拉列表中与div的rel匹配的名称克隆隐藏的div。然后将其附加到我的元框中。所以结果是这样的。
echo \'<div id="page_selected_elements" name="page_selected_elements" class="page_selected_elements">\';
// content gets cloned into here
// example div that gets added
<div rel="Quote" class="page-element element1-4 test" id="page-element">
<div class="page-element-item">
<div class="left-side">
<input type="button" value="+" class="increase-size">
<input type="button" value="-" class="decrease-size">
<span class="element-description">Quote</span>
</div>
<input type="hidden" id="page-option-item-type" class="page-option-item-type" value="Tab" name="">
<input type="hidden" id="page-option-item-size" class="page-option-item-size" value="element1-4" name="">
<div class="right-side">
<span id="element-size-text" class="element-size-text">1/4</span>
<div class="change-element-property">
<input type="button" value="edit" rel="edit-box" id="page-element-edit-box" class="edit-element">
<input type="button" value="Remove" class="remove-element" id="delete-element">
</div>
</div>
</div>
<div id="my_modal" class="page-element-edit">
<p>Quote</p>
<input type="text" id="_cmb_page-option-quote" name="_cmb_page-option-quote" class="cmb_text_small">
</div>
</div>
// end example div that gets added
// getting the values for displaying after save
$values = get_post_custom( $post->ID );
$selected = isset( $values[\'addddData\'] ) ? $values[\'addddData\'][0] : \'\';
echo $selected;
echo \'</div>\';
// Save data from metabox
function save( $post_id, $post ) {
// verify nonce
if ( ! isset( $_POST[\'wp_meta_box_nonce\'] ) || !wp_verify_nonce( $_POST[\'wp_meta_box_nonce\'], basename(__FILE__) ) ) {
return $post_id;
}
// check autosave
if ( defined(\'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) {
return $post_id;
}
// check permissions
if ( \'page\' == $_POST[\'post_type\'] ) {
if ( !current_user_can( \'edit_page\', $post_id ) ) {
return $post_id;
}
} elseif ( !current_user_can( \'edit_post\', $post_id ) ) {
return $post_id;
}
$cloned = $_POST[\'page_selected_elements\'];
update_post_meta( $post_id, \'addddData\', $cloned );
//print_r($_POST);
}
现在的问题是,它不会保存div page\\u selected\\u元素中的内容。我可以看到,该键是通过phpmyadmin添加的,但在克隆项目“从下拉列表添加项目”后保存时,meta\\u值始终为空。
作为测试,我使用phpmyadmin手动编辑meta\\u值,并粘贴示例clone div作为值,刷新并显示div。然而,一旦我更新了页面,该值就被删除了。
作为测试,我将div page\\u selected\\u元素更改为一个textarea来测试我的保存功能,效果很好,我输入到文本区域的文本会得到更新,并在更新后显示在页面上。
有人能想到问题出在哪里吗?这可能与动态添加的内容有关吗?也许更新没有看到它。我在更新过程中一直看到克隆的项目,但一旦它重新加载页面,它们就会消失,meta\\u值为空。