gpt4 book ai didi

php - 当用户从选择框中选择选项时更改输入字段的值

转载 作者:行者123 更新时间:2023-11-30 22:51:03 25 4
gpt4 key购买 nike

我正在开发发票模块。我有一个使用 ajax 生成新行的按钮,所有字段都具有相同的名称,如果第一个字段的名称是 field1,它将为所有新生成的行保留 field1。我还有一个选择框,其中包含显示数据库 (mysql) 中的选项的产品名称,因此当用户从选择菜单中选择一个选项(产品)时,我想在输入字段上打印它的价格。我有这个ajax脚本。第一行工作正常。但是当我生成一个新行并从选择框中选择一个选项时,它对该行不起作用。当我从第一行更改选择选项时,它会更改所有输入字段的值。我不知道 ajax 所以不知道如何解决这个问题。请查看并告诉我如何解决此问题。

<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$(".pname").change(function(){
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax
({
type: "POST",
url: "get_price.php",
data: dataString,
cache: false,
success: function(html)
{
$(".price").val(html);
}
});
});
});
</script>

</head>
<body>
<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>

<input type='text' name='price[]'>

<br />

<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>

<input type='text' name='price[]'>

<br />

<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>

<input type='text' name='price[]'>

<br />

<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>

<input type='text' name='price[]'>

<br />

</body>
</html>

附言在这里,我自己编写了所有字段,但我使用的是自动生成的脚本。

最佳答案

问题不在于您的 ajax 请求,而在于您使用的 jquery 选择器。在 jquery 中,$('.value') 表示所有具有“值”类的 DOM 元素。所以 $(".price") 将选择具有类“price”的所有元素,但我没有看到它们中的任何一个。要按名称选择内容,您必须使用 $('input[name=price]')。这将选择名称为“price”的所有输入。要选择名称以价格开头的所有输入,请使用 $('input[name^=price]')。您的问题的解决方案可能是将 SELECT 和 INPUT 元素放在一个容器中,然后仅选择对应的 INPUT。

<div>
<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>

<input type='text' name='price[]'>
</div>
<div>
<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>

<input type='text' name='price[]'>
</div>

<script type="text/javascript">
var $last_select = null;
$(document).ready(function(){
$("select[name^=pro_name]").change(function(){
$last_select = $(this);
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax
({
type: "POST",
url: "get_price.php",
data: dataString,
cache: false,
success: function(html)
{
$('input[name^=price]', $last_select.parent()).val(html);
}
});
});
});
</script>

fiddle :http://jsfiddle.net/8rsxay8q/1/

关于php - 当用户从选择框中选择选项时更改输入字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28147611/

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