javascript - 如何以在 javascript 中创建的表单中获取表单 foreach 循环选项值?
问题描述
我在 php 文件中有一个带有选择选项的字段:
<div class="form-group">
<div class="col-sm-12">
<div class="input-group">
<div class="input-group-addon"><?php _e('Taxonomy', 'textdomain'); ?></div>
<div class="select">
<select name="categoryxpath_tax" id="select-taxonomy-type" class="form-control" ng-model="model.categoryxpath_tax">
<option value=""><?php _e('Please select a taxonomy', 'textdomain'); ?></option>
<?php
if (get_post_meta($post_object->ID, 'sc_post_type', true) == "") {
$taxonomies = get_object_taxonomies('post', 'objects');
} else {
$taxonomies = get_object_taxonomies(get_post_meta($post_object->ID, 'sc_post_type', true), 'objects');
}
foreach ($taxonomies as $taxonomy) { ?>
<option value="<?php echo $taxonomy->name; ?>"><?php echo $taxonomy->labels->name; ?></option>
<?php } ?>
</select>
</div>
</div>
</div>
</div>
我在 JavaScript 中创建了相同的表单,我想获取 foreach 循环的值。但我无法在表单中获取 JavaScript 中的值。
if (type == 'taxonomy_field') {
var taxonomy_value = document.getElementById('select-taxonomy-type');
var taxonomy_field_name = taxonomy_value.options[taxonomy_value.selectedIndex].text;
var taxonomy_field_value = taxonomy_value.options[taxonomy_value.selectedIndex].value;
$($event.target).closest('.form-group').before($compile(
'<div class="form-group">' +
'<div class="col-sm-12">' +
'<div class="input-group">' +
'<div class="input-group-addon">' + translate.Taxonomy + '</div>' +
'<div class="select">' +
'<select name="categoryxpath_tax" class="form-control">' +
'<option value="">' + translate.Please_select_a_taxonomy + '</option>' +
'<option value="' + taxonomy_field_value + '">' + taxonomy_field_name + '</option>' +
'</select>' +
'</div>' +
'<span class="input-group-btn"><button type="button" class="btn btn-primary btn-block" ng-click="remove_field($event)"><i class="icon ion-trash-a"></i></button></span>' +
'</div>' +
'</div>' +
'</div>'
)($scope));
}
如何在 JavaScript 中获取 foreach 循环值?谢谢你把编辑后的 JavaScript 代码给我。
解决方案
看看这篇文章。您可以使用json_encode
传递数组,然后传递JavaScript forEach
。我认为它应该是这样的。
var array = <?php echo json_encode($taxonomies); ?> ;
array.forEach(function (item) {
'<option value="">' + translate.Please_select_a_taxonomy + '</option>' +
'<option value="' + item.value + '">' + item.name + '</option>' +
});
这里会有一些错误,但这应该会给你一个好的开始
推荐阅读
- unity3d - 单击 Unity3D 更改材质
- inheritance - 从 odoo14 中的其他 2 个模型中获取值
- azure - 使用 blob 的 SAS URI 查找 Azure 存储的类型
- reactjs - 找不到模块'core-js/core/array'
- python - 无法从并行目录导入包
- api - 为什么我们需要为特定的 vulkan 结构分配类型
- c++ - lli 正在为 clang++ 生成的 IR 生成运行时错误,而生成的可执行文件没有为 c++ 源代码生成运行时错误
- javascript - 元素外部的主体或窗口通过在 javascript 中单击删除相同的元素
- dataframe - 从pyspark的多列中选择非空值
- java - java - 如何修复在java中扩展泛型方法的警告?