由Javascript生成的带有Radio Inputs的Wordpress Metabox(在Javascript备选
Wordpress Metabox with Radio Inputs generated by Javascript ( checked() wordpress function in Javascript alternative)
我在这个论坛和其他论坛上搜索答案,但我仍然面临这个问题,没有任何进展。
在下面的代码中,我有两个无线电输入。它们是在Wordpress CMS的后期编辑页面中生成的,它们的值是post_meta值。一切都很好,但因为它是jQuery,我不能使用函数checked(),所以在我单击"发布"后,它们显示为未检查。有办法解决这个问题吗?
function addRow(image_url){
if(typeof(image_url)==='undefined') image_url = "";
itemsCount+=1;
var emptyRowTemplate = '<div id=row-'+itemsCount+'> <input style=''width:70%'' id=img-'+itemsCount+' type=''text'' name=''miu_images['+itemsCount+']'' value='''+image_url+''' />'
+'<input type=''button'' href=''#'' class=''Image_button button'' id=''Image_button-'+itemsCount+''' value=''Upload''>'
+'<input class="miu-remove button" type=''button'' value=''Remove'' id=''remove-'+itemsCount+''' /><br>'
+'<label for="left-column'+itemsCount+'">Lewa kolumna</label><input name=''float['+itemsCount+']'' type=''radio'' value=''left-column'' id=''left-column'+itemsCount+''' />'
+'<label for="right-column'+itemsCount+'">Prawa kolumna</label><input name=''float['+itemsCount+']'' type=''radio'' value=''right-column'' id=''right-column'+itemsCount+''' />'
'</div>';
jQuery('#miu_images').append(emptyRowTemplate);
}
关键是在加载脚本时将现有值传递给脚本。
当您使用wp_enque_script将脚本排入队列时,请将$in_footer参数设置为true,以便在页脚中加载脚本。
然后,当你在WordPress后期编辑页面上设置元框时,使用wp_localize_script将元值传递给你的脚本。例如:
// Get post meta values for float in array $float
$data = array();
for ($i = 1; $i <= count($float); $i++) {
$data['float' . $i] = $float[$i - 1];
}
wp_localize_script('some_handle', 'floatdata', $data);
其中"some_handle"是您在wp_enque_script中使用的句柄。
这将创建一个形式为的Javascript变量
<script>
var floatdata = {
'float1': value of float1,
'float2': value of float2,
...
};
</script>
然后,当您的脚本创建行时,它可以检查floatdata.floatn
的值,并相应地设置'checked="checked"'。
例如,
function addRow(image_url){
if(typeof(image_url)==='undefined') image_url = "";
itemsCount+=1;
var radiovalue = floatdata['float'+itemsCount];
var emptyRowTemplate = '<div id=row-'+itemsCount+'> <input style=''width:70%'' id=img-'+itemsCount+' type=''text'' name=''miu_images['+itemsCount+']'' value='''+image_url+''' />'
+'<input type=''button'' href=''#'' class=''Image_button button'' id=''Image_button-'+itemsCount+''' value=''Upload''>'
+'<input class="miu-remove button" type=''button'' value=''Remove'' id=''remove-'+itemsCount+''' /><br>'
+'<label for="left-column'+itemsCount+'">Lewa kolumna</label><input name=''float['+itemsCount+']'' type=''radio'' value=''left-column'' id=''left-column'+itemsCount+'''' + (radiovalue == 'left-column' ? ' checked="checked"' : '') + ' />'
+'<label for="right-column'+itemsCount+'">Prawa kolumna</label><input name=''float['+itemsCount+']'' type=''radio'' value=''right-column'' id=''right-column'+itemsCount+'''' + (radiovalue == 'right-column' ? ' checked="checked"' : '') + ' />'
'</div>';
jQuery('#miu_images').append(emptyRowTemplate);
}
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 使用javascript将动态表从一个html页面打印到另一个html页
- 由Javascript生成的带有Radio Inputs的Wordpress Metabox(在Javascript备选