当我选择一个产品时,其ID将传递到下面的javascript代码
$(document).ready(function(){
$("#nameinput_1").click(function(){
var id = $('#nameinput_1').val();
$.post("vfiles/data/ajaxload_buy.php",
{
id:id,
},
function(html){
$("#input_1").val(html);
});
});
});
然后将在input_1
处产生价格<input type="text" name="nameinput_1" id="nameinput_1"> <input type="text" name="input_1" id="input_1">
<input type="text" name="nameinput_2" id="nameinput_2"> <input type="text" name="input_2" id="input_2">
我如何编写nameinput_1代码,以便在我选择新产品时自动更改,而不会将其重写为nameinput_2(例如:i - &gt; i ++)。我在javascript中没有良好的基础,所以如果可能的话,请帮我计算input_1和input_2的总和。然后将总和分配给新的输入值。
档案ajaxload_buy.php
$ID= $_POST['id'];
$sql = "SELECT * FROM produce WHERE ID = '".mysql_real_escape_string($ID)."'";
$result = mysql_query($sql)
or die(mysql_error());
$row = mysql_fetch_array($result);
echo $row['price'];
我解决了这个问题: 我这样写是为了你没有权利
$(document).ready(function(){
$(".nameinput").click(function() {
var input = this.name.replace('name', '');
$.post("vfiles/data/ajaxload_buy.php", {id: this.value}, function(html) {
$("#" + input).val(html);
$(this).next().val(html);
var sum = 0;
$(".price").each(function() {
sum += parseFloat($(this).html());
});
**$("#export").val(sum);**
});
});
});
如何在新输入中导出这些数据
var sum = 0;
$(".price").each(function() {
sum += parseFloat($(this).html());
});
**$("#export").val(sum);**
我不明白值(sum)export = NaN
问题解决了
var sum = 0;
$(".price").each(function() {
sum += Number(this.value);
});
答案 0 :(得分:0)
以下是一些建议:
首先,使用class而不是id,这样您就不需要复制代码了。做一些像$(&#34; .getprice&#34;)而不是$(&#34;#nameinput_1&#34;)并使用next()选择你需要的输入元素:
<input type="text" class="getprice" name="nameinput_1" id="nameinput_1"> <input type="text" name="input_1" id="input_1">
<input type="text" class="getprice" name="nameinput_2" id="nameinput_2"> <input type="text" name="input_2" id="input_2">
和
$(document).ready(function(){
$(this).click(function(){
var id = $(this).val();
$.post("vfiles/data/ajaxload_buy.php",
{
id:id,
},
function(html){
$(this).next().val(html);
});
});
});
其次,如果你确定只有两件事要加,那么根据你所做的事情,它很容易实现。但我还是建议你上课。让我们说'价格&#39;然后html将是:
<input type="text" class="getprice" name="nameinput_1" id="nameinput_1"> <input type="text" name="input_1" class="price" id="input_1">
<input type="text" class="getprice" name="nameinput_2" id="nameinput_2"> <input type="text" name="input_2" class="price" id="input_2">
然后,当您需要总结价格时,可以使用each执行此类操作:
var sum = 0;
$(".price").each(function() {
sum += parseFloat($(this).html());
});
如果您知道新输入的ID,那么它就像$(&#34;#id_of_the_input&#34;)一样简单.val(sum);