Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新下拉列表后更改值_Php_Opencart_Dropdown - Fatal编程技术网

Php 更新下拉列表后更改值

Php 更新下拉列表后更改值,php,opencart,dropdown,Php,Opencart,Dropdown,我的产品配置程序有一个下拉列表,可以在其中选择产品。所选产品具有其他信息(是或否),在选择适当的产品时会显示这些信息。产品配置器有多个产品可供选择 如果其中一种产品的附加信息为“否”,则最终信息为“否” 如果我现在选择一个信息从“否”更改为“是”的产品,那么最后的消息也应该更改为“是”,而无需页面刷新 选择框代码如下所示: <select name="<?php echo $ot['option_type']; ?>"> <?php fo

我的产品配置程序有一个下拉列表,可以在其中选择产品。所选产品具有其他信息(是或否),在选择适当的产品时会显示这些信息。产品配置器有多个产品可供选择

如果其中一种产品的附加信息为“否”,则最终信息为“否”

如果我现在选择一个信息从“否”更改为“是”的产品,那么最后的消息也应该更改为“是”,而无需页面刷新

选择框代码如下所示:

      <select name="<?php echo $ot['option_type']; ?>">
        <?php foreach ($ot['gp_child'] as $key => $child) { $child_id = $child['child_id']; ?>
        <option value="<?php echo $child_id; ?>" id="<?php echo $ot['option_type'] . '-' . $child_id; ?>" data-hide="<?php echo $child['child_to_hide']; ?>"><?php echo $child['name']; ?></option>
        <?php } ?>
      </select>

Php是服务器端脚本语言,它根本无法做到这一点。您需要的是客户端站点编程

其中之一是jquery,它更方便:

HTML:

<select class="select-name" name="<?php echo $ot['option_type']; ?>">
    <?php foreach ($ot['gp_child'] as $key => $child) { $child_id = $child['child_id']; ?>
    <option data-sku="<?php echo $child['info']['sku']; ?>" value="<?php echo $child_id; ?>" id="<?php echo $ot['option_type'] . '-' . $child_id; ?>" data-hide="<?php echo $child['child_to_hide']; ?>"><?php echo $child['name']; ?></option>
    <?php } ?>
 </select>

<div class="message">
 <?php if ($child['info'][$field_name] == 'No') { ?>
  <h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class="red">No</span></h5>
<?php } else { ?>
  <h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class="green">Yes</span></h5>
<?php } ?>
 </div>
<script>
 $(".select-name").on("change",function(){
var length = $(".select-name option:selected[data-sku=No]").length;
if(length > 0) { // at least one is no
    $(".message").html("<h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class='red'>No</span></h5>");
} else {
    $(".message").html("<h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class='green'>Yes</span></h5>");
}
});
</script>

您为此尝试过javascript或jquery吗?我尝试过您的建议,但还没有成功。我已经在我的第一篇文章中添加了一些额外的信息…谢谢你像在你的文件中那样添加了jquery文件?选择框没有是/否选项。选择框包含“产品1”和“产品2”等信息。当我选择“产品1”时,会显示“是”或“否”等附加信息。因此,必须验证此附加值,然后需要相应地更改消息。你能帮我吗?你能把打印的结果贴出来吗;关于你的问题。现在可以用于第一个产品条目。但是当我改变第二个,这就没有效果了。你可能想看看……谢谢
<select class="select-name" name="<?php echo $ot['option_type']; ?>">
    <?php foreach ($ot['gp_child'] as $key => $child) { $child_id = $child['child_id']; ?>
    <option data-sku="<?php echo $child['info']['sku']; ?>" value="<?php echo $child_id; ?>" id="<?php echo $ot['option_type'] . '-' . $child_id; ?>" data-hide="<?php echo $child['child_to_hide']; ?>"><?php echo $child['name']; ?></option>
    <?php } ?>
 </select>

<div class="message">
 <?php if ($child['info'][$field_name] == 'No') { ?>
  <h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class="red">No</span></h5>
<?php } else { ?>
  <h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class="green">Yes</span></h5>
<?php } ?>
 </div>
<script>
 $(".select-name").on("change",function(){
var length = $(".select-name option:selected[data-sku=No]").length;
if(length > 0) { // at least one is no
    $(".message").html("<h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class='red'>No</span></h5>");
} else {
    $(".message").html("<h5>Diese Produktekonfiguration ist für den CH-Strassenverkehr Zugelassen: <span class='green'>Yes</span></h5>");
}
});
</script>