我正在尝试从包含id和sku号的数组中回显一个值。 我需要回显所选div的sku号。
下面是一个选定的div,其中显示了data-option-type-id
<div class="mageworx-swatch-option text selected" data-option-id="13111" data-option-type-id="166748" data-option-label="3/4" data-option-price="145" style=" max-width: 90px;">3/4"</div>
这是我当前的代码,该代码从php数组中获取ID和sku并发送至javascript:
<?php
$_product = $block->getProduct();
foreach ($_product->getOptions() as $o) {
foreach ($o->getValues() as $value) {
$result[]=array(
"itemoption_id" => $value["option_type_id"],
"itemsku" => $value["sku"]
);
}
}
echo json_encode($result);
?>
<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable
var result = <?php echo json_encode($result) ?>;
var json = JSON.stringify(result);
document.write(json);
</script>
我的想法现在碰到了墙(对此很陌生),任何帮助将不胜感激。
我正在考虑使用javascript if命令查看是否已选择div并匹配该data-option-type-id以查找和显示sku。
我想在那里需要一些ajax吗?
有人可以向我指出正确的方向或提供任何建议吗?
非常感谢
答案 0 :(得分:1)
我建议使用项ID作为键,使Sub sdfsdf()
Application.DisplayAlerts = False
ThisWorkbook.BuiltinDocumentProperties("Creation Date") = "8-Aug-18 11:25:30PM"
ThisWorkbook.BuiltinDocumentProperties("Last Save Time") = "16-Jan-19 09:45:21PM"
ThisWorkbook.BuiltinDocumentProperties("Last Print Date") = "21-Jun-19 10:23:31PM"
ThisWorkbook.Save
End Sub
成为JavaScript对象而不是数组。
result
您可以轻松查找SKU
<?php
$_product = $block->getProduct();
foreach ($_product->getOptions() as $o) {
foreach ($o->getValues() as $value) {
$result[$value["option_type_id"]]=value["sku"];
}
}
?>
<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable
var sku_data = <?php echo json_encode($result) ?>;
</script>
答案 1 :(得分:0)
我不知道您的HTML结构,但可以肯定的是,如果您要使用JSON对象,则需要使用
var json = JSON.parse(result);
代替
var json = JSON.stringify(result);
parse将字符串转换为JSON,而stringify执行相反的操作