我的JavaScript有问题。每次单击复选框时,事件侦听器都无法正常工作。 Screenshot
我将此代码用于2个PHP页面。一个正在工作,而另一个则不工作。这不是外部javascript。应该启用微调器中的按钮和表单中的文本框。
<div class="checkbox-custom checkbox-success">
<input type="checkbox" name="inclusion[]" id="inclusionName<?php echo $inclusionId ?>" value="<?php echo $inclusionId ?>">
<label for="<?php echo $inclusionId ?>"> <?php echo $inclusionName ?></label>
</div>
我试图更改函数名称,但仍然无法正常工作。
<script>
var inclusionSelect<?php echo $inclusionId ?> = document.getElementById('inclusionName<?php echo $inclusionId ?');
inclusionSelect<?php echo $inclusionId ?>.addEventListener("click", function selectCheck<?php echo $inclusionId ?>() {
if (inclusionSelect<?php echo $inclusionId ?>.checked == true) {
totalPrice = totalPrice + totalUnitPrice<?php echo $inclusionId ?>;
document.getElementById("totalPrice").value = totalPrice.toFixed(2);
document.getElementById('unitCount<?php echo $inclusionId ?>').disabled=false;
document.getElementById('unitCountUp<?php echo $inclusionId ?>').disabled=false;
document.getElementById('unitPrice<?php echo $inclusionId ?>').disabled=false;
document.getElementById('totalUnitPrice<?php echo $inclusionId ?>').disabled=false;
if (unitCount<?php echo $inclusionId ?> >= 1) {
document.getElementById('unitCountDown<?php echo $inclusionId ?>').disabled=false;
}
if (unitCount<?php echo $inclusionId ?> >= 99) {
document.getElementById('unitCountUp<?php echo $inclusionId ?>').disabled=true;
}
}
else {
totalPrice = totalPrice - totalUnitPrice<?php echo $inclusionId ?>;
document.getElementById('totalPrice').value = totalPrice.toFixed(2);
document.getElementById('unitCount<?php echo $inclusionId ?>').disabled=true;
document.getElementById('unitCountUp<?php echo $inclusionId ?>').disabled=true;
document.getElementById('unitCountDown<?php echo $inclusionId ?>').disabled=true;
document.getElementById('unitPrice<?php echo $inclusionId ?>').disabled=true;
document.getElementById('totalUnitPrice<?php echo $inclusionId ?>').disabled=true;
}
}, false);
</script>
答案 0 :(得分:0)
(我可以自由地将其发布为答案,虽然不是。我只需要空格。)
请发布此脚本生成的实际HTML,使其更易于调试。
但是我发现尴尬的一件事是:
id="inclusionName<?php echo $inclusionId ?>"
与
label for="<?php echo $inclusionId ?>"
第二个也应该是"inclusionName<?php echo $inclusionId ?>"
,以便您的标签匹配。