我在从数据库中提取的表中有一个产品列表。 每个产品都有一个ALIQUOTA(= VAT,Tax)字段。 我希望能够修改分配给单个产品的等分数值。
我在实际的等分试样旁边做了一个下拉菜单,其中包含了我数据库的等分“表中所有允许的值。 (值为0.00,4.00,10.00,20.00)。 选择后,该值将被插入一个id为#34; aliquota_XXX"的只读输入文本字段中。 (其中XXX是与产品对应的ID)。 然后我想按下激活功能 save_modify 的按钮确认增值税来保存该值(此功能已存在于项目中)。 这是代码:
<select class="piccolo elemento_modulo_obbligatorio" id="aliquota_dropdown_<?php echo $row['rid']; ?>" name="aliquota_dropdown">
<?php
$aliquote = "SELECT aliquota,id AS aid FROM aliquote ORDER BY aliquota ASC";
$result_aliquote = mysql_query($aliquote) or die("Invalid query: " . mysql_error());
while ($row_aliquote = mysql_fetch_array($result_aliquote)) {
echo '<option onclick=\'';
?>
$("#aliquota<?php echo $row['rid']; ?>").val("<?php echo $row_aliquote['aliquota']; ?>");
<?php
echo ';\' value="' . $row_aliquote['aid'] . '">' . $row_aliquote['aliquota'] . '</option>';
}
?>
</select>
<input autocomplete="off" type="text" class="class12" id="aliquota<?php echo $row['rid']; ?>" name="aliquota" readonly="readonly" value="" />
<input type="button" onclick="save_modify("aliquota",document.getElementById('aliquota_<?php echo $row['rid']; ?>').value,<?php echo number_format($row['aliquota'],2,".",","); ?>);" value="CONFIRM VAT" />
函数 save_modify 是:
function save_modify(cosa, valore_nuovo, valore_vecchio) {
$.ajax({
type: "GET",
url: "ajax_salva_modifica_valore.php",
data: "id_documento=" + <? php echo $_GET['id_documento']; ?> +"&cosa=" + cosa + "&id=" + id + "&valore_nuovo=" + valore_nuovo + "&valore_vecchio=" + valore_vecchio,
cache: false,
success: function(data) {
$("#sezione_messaggi").html("Succesfully modified!");
},
beforeSend: function() {
$("#sezione_loading").html("<img src='../images/ajax-loader.gif' />");
},
complete: function() {
$("#sezione_loading").html("");
post_modifica(id);
carica_righe();
}
});
}
ajax_salva_modifica_valore.php 的那部分感兴趣的是:
<?php
session_start();
$cosa = $_GET['cosa'];
$array_id = split("_",$id);
$id_riga = $array_id[1];
$valore_nuovo = $_GET['valore_nuovo'];
$valore_vecchio = $_GET['valore_vecchio'];
if($cosa == "aliquota") {
$modifica = "UPDATE righe_documenti
SET aliquota = '" . $valore_nuovo . "'
WHERE id = " . $id_riga;
$result = mysql_query($modifica) or die("Invalid query: " . mysql_error());
}
?>
我不知道问题出在哪里,因为传递给函数的参数是正确的,但修改它没有应用...
有人可以帮我修理或尝试其他解决方案吗?
save_modify 和 ajax_salva_modifica_valore.php 不是由我制作的,所以我认为它们是正确的(并且它们适用于编辑其他产品信息...... )
谢谢!
答案 0 :(得分:0)
主要问题是number_format()
将数字格式化为字符串,并且在您的情况下应该用双引号("
)括起来。
<input type="button" onclick="save_modify("aliquota",this.id,$("#aliquota<?php echo $row['rid']; ?>").val(),"<?php echo number_format($row['aliquota'],2,",","."); ?>");" value="CONFIRM ALIQUOTA" />
但是,通过查看其余代码,您似乎根本不需要number_format()
:
<input type="button" onclick="save_modify("aliquota",this.id,$("#aliquota<?php echo $row['rid']; ?>").val(),<?php echo $row['aliquota']; ?>);" value="CONFIRM ALIQUOTA" />