通过javascript将php值的数组插入到select选项中
Inserting a array of php values into a select options via javascript
我有多个选择元素,每个选择表单要么是块类型,要么是块内容。所以我总共有大约10个选择元素,其中5个是块类型,5个是块内容。块内容的选择选项将由用户在块类型中选择的内容决定。我有3个数组(属性,博客,消息),其中有块内容所需的值。
所以我需要做的是-检查用户为块类型选择了什么—我已经这样做了。用相关值填充块内容-这就是我遇到问题的地方。
这是目前为止我的javascript代码
$(".blockTypeWrapper .blockType").change(function() {
var currentBlock = $(this).val();
var blockContent = $(this).parent().siblings('.blockContentWrapper .blockContent');
if (currentBlock == '1') {
var option = document.createElement("option");
var propertyData = <?php echo $properties; ?>;
$.each(propertyData, function() {
options.append(new Option(option.text, option.value));
});
};
if (currentBlock == '2') {
$(this).siblings(".blockContent").addClass("active");
};
if (currentBlock == '3') {
$(this).siblings(".blockContent").addClass("active");
};
});
忽略currentBlock == '2'和3代码,我只是想让它首先工作。
如果有其他更简单的方法,我洗耳恭听。编辑echo $this->Form->input('main_block_type',
array(
'options' => array(
1 => 'Property',
2 => 'Blogs',
3 => 'Message'
),
'label' => 'Main Block Type',
'empty' => 'Please Select',
'class' => 'blockType',
'div' => array(
'class' => 'blockTypeWrapper'
)
)
);
echo $this->Form->input('main_block',
array(
'options' => $blogs,
'label' => 'Main Block Content',
'empty' => 'Please Select',
'class' => 'blockContent',
'div' => array(
'class' => 'blockContentWrapper'
)
)
);
谢谢
不能使用echo访问Array。您需要使用:
访问 <?php echo json_encode($properties); ?>;
尝试下面的代码:
if (currentBlock == '1') {
var propertyData = <?php echo json_encode($properties); ?>;
$(".blockContent").empty(); // You can remove all the options by using empty() function.
$.each(propertyData, function (i, item) {
$('.blockContent').append($('<option>', {
value: item.value,
text: item.text
}));
});
}
PHP的属性数组应该是这样的:
$properties = array(
'item1' => array('text' => 'item1 text', 'value' => 'item 1 value'),
'item2' => array('text' => 'item2 text', 'value' => 'item 2 value'),
'item3' => array('text' => 'item3 text', 'value' => 'item 3 value')
);
相关文章:
- jquery点击函数select&取消选择
- 将样式表插入iframe
- 在html Select中添加搜索
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Jquery:未触发select事件
- 如何在PHP中使用$_POST获取Select元素值
- 如何动态插入jquery代码
- 无法在Ionic select中预先选择最后一个选项
- 动态插入的表:JQuery未检测到最后一行
- Dojo:访问dijit.form.Select中单击的项目
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 将对象动态插入到现有对象中
- X秒后刷新select元素
- 将数组中的值插入到表中
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 在HTML中插入JSON中的select标记选项
- 使用innerHTML(JS)插入select元素
- jQuery .select()不工作,以及如何获得插入符号节点
- 通过javascript将php值的数组插入到select选项中