gpt4 book ai didi

javascript - 通过 javascript 将 php 值数组插入到选择选项中

转载 作者:行者123 更新时间:2023-12-03 06:18:56 25 4
gpt4 key购买 nike

我有多个选择元素,每个选择表单要么是 block 类型,要么是 block 内容。所以我总共有大约 10 个选择元素,其中 5 个是 block 类型,5 个是 block 内容。 block 内容的选择选项将由用户在 block 类型中选择的内容决定。我有 3 个数组(属性、博客、消息),其中包含 block 内​​容所需的值。

所以我需要做的是-检查用户为 block 类型选择的内容 - 我已经完成了。用相关值填充 block 内容 - 这就是我遇到问题的地方。

这是迄今为止我的 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 访问数组。您需要通过以下方式访问:

<?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')
);

关于javascript - 通过 javascript 将 php 值数组插入到选择选项中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38954504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com