gpt4 book ai didi

javascript - PHP中带标签select的操作

转载 作者:行者123 更新时间:2023-12-01 00:35:06 25 4
gpt4 key购买 nike

怎么样,我尝试执行一个简单的运算(加法、减法或乘法)。99 + 5 = 104表格

<select> + <input> = result

在输入标签之间,没有问题,问题是当我有一个数字列表要从 BD 中选择时。

在 BD 中,可以使用以下数据。如您所见,折扣与您的 ID 不符。

Id discount
1 100
2 99
3 98
4 96
5 95

如果我要执行操作,在列出折扣时,标签

<option value = "<? PHP echo ''. $ row ['id'];?>"> <? PHP echo ''. $ row ['discount'];?> </ option>

操作是通过 id 而不是折扣来完成的。一个总和的例子,我们选择99的折扣,然后插入5的金额正确的结果= 104。

问题在于,在操作时,它取的是 ID = 2 的值而不是 99,因此 2 + 5 = 7。

我在执行操作时的问题,因为我可以取折扣值而不是 Id。

<html>
<head>
<script language='javascript'>
function fadd(){
n1=document.f1.cveDiscount.value;
n2=document.f1.amount.value;
res=document.f1.resul.value;
res=parseInt(n1)+parseInt(n2);
document.f1.resul.value=res;

}
</script>
</head>
<body>
<form name='f1' action="" method=POST>
<label name=lblnum1>Num 1:</label>
<select name="cveDiscount" class="form-control ">
<?PHP

if ($resultado = $mysqli->query("SELECT id,discount FROM discount order by id desc", MYSQLI_USE_RESULT)) {

while ($row = mysqli_fetch_array($resultado)){
?>
<tr>
<option value="<?PHP echo ''.$row['id'];?>"><?PHP echo ''.$row['discount'];?></option>
</tr>
<?PHP
}
}
?>
<option value="#" selected>Select discount</option>
</select>

<label name=lblnum2>Num 2:</label>
<input type=text name='amount'/>

<input type=button value=" = " onclick="fadd()">

<input type=text name='resul'/>

</form>
</body>
</html>

最佳答案

您可以使用:

selectedOptions: ...contains a list of the elements contained within the element that are currently selected. The list of selected options is an HTMLCollection object with one entry per currently selected option.

因此,您可以更改:

n1=document.f1.cveDiscount.value;

到:

n1 = document.f1.cveDiscount.selectedOptions[0].textContent;

无论如何我建议使用.addEventListener()在 dom 准备好而不是内联事件处理程序。

片段:

document.addEventListener('DOMContentLoaded', function(e) {
document.querySelector('[type=button]').addEventListener('click', function(e) {
n1 = document.f1.cveDiscount.selectedOptions[0].textContent;
n2 = document.f1.amount.value;
res = document.f1.resul.value;
res = parseInt(n1) + parseInt(n2);
document.f1.resul.value = res;
})
})
<form name='f1' action="" method=POST>
<label name=lblnum1>Num 1:</label>
<select name="cveDiscount" class="form-control ">
<option value="1">100</option>
<option value="2">99</option>
<option value="3">98</option>
<option value="4">96</option>
<option value="5">95</option>
<option value="#" selected>Select discount</option>
</select>
<label name=lblnum2>Num 2:</label>
<input type=text name='amount'/>
<input type=button value=" = ">
<input type=text name='resul'/>
</form>

关于javascript - PHP中带标签select的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54611412/

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