【发布时间】:2018-07-11 00:41:31
【问题描述】:
我无法弄清楚我错过了什么......我正在尝试执行之前已经完成的任务(更改 <input> 上的值 <select> 更改),但我看不到我的代码失败的地方。
然后我从一个单独的基于 woocommerce 的命令创建我的下拉菜单,在该命令中我使用 datasets 来存储值;我想在两个关联的输入中使用这些值。
echo '<p><select id="product" name="product" onchange="change_details(this.value)">';
echo '<option>-- Select SKU--</option>';
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
$sku = $product->get_sku();
echo '<option value=' . $sku . ' data-sales=' . $results[$sku]['sales'] .' data-token=' .$results[$sku]['token'] . '>' . $sku . ' </option>';
endwhile;
echo '</select>';
在这里我想更新两个输入字段以具有这些 sales 和 token 值:
echo '<p><input type="text" placeholder="sales" id="sales" name="sales" size="20" /></p>';
echo '<p><input type="text" placeholder="e.g. token" id="token" name="token" size="20" /></p>';
最后,我的 onchange 函数的 javascript;
function change_details(){
document.getElementById("sales").dataset.sales;
document.getElementById("token").dataset.token;
}
【问题讨论】:
-
Java 不是 javascript。成功的最后一点是什么?换句话说,最早的故障点在哪里?您正在混合过程和面向对象的语法。
-
@mickmackusa 我已经编辑了我的问题以反映您的 java 声明。我相信最早的故障点位于我存储数据(在数据销售或数据令牌中)或我的 javascript 的下拉菜单中。我确实用
document.getElementById("sales").value=test;进行了测试,它会起作用,但是在更改为我的数组值后,它似乎搞砸了
标签: javascript forms input drop-down-menu dataset