早!
我正在尝试根据选择框中的更改填充输入值,因此用户选择代码并填充金额,我需要选择框以保持其值,因此我无法使用那个改变的价值。
我在JS中使用了一个post请求来获取这个值,但是无法让它工作得太多,并且试图找到答案的选择很累。
代码如下:
<input id="amount" />
<select id="product" onChange="amountCalc()">
<option value="111">111</option>
<option value="222">222</option>
</select>
<script>
function amountCalc() {
var x = document.getElementById("product").value;
$.post('lib/amount.php', { code: +x+ }, function(result) {
document.getElementById("amount").value = result;}
</script>
PHP页面需要代码参数并返回一个应该填充金额字段的值。
任何帮助都会很棒,这里有javascript noob :(
答案 0 :(得分:3)
您的JavaScript中有很多错误:
应该是这样的:
function amountCalc() {
var x = document.getElementById("product").value;
$.post('lib/amount.php', { code: x }, function(result) {
document.getElementById("amount").value = result;
});
}
您没有关闭amountCalc()
功能,这是第一个问题。
第二个问题是你使用的是+x+
,所以它期待一个字符串或另一个变量,因为+
用于JavaScript中的字符串连接。这阻止了您function(result)
的工作。
然后最后,您错过了)
的结束括号$.post(...
。这需要追踪function(result){
答案 1 :(得分:1)
你可以这样做,因为你使用jquery然后这样做:
$('#product').change(function(e){
var x = this.value;
$.post('lib/amount.php', { code: x }, function(result) {
$("#amount").val(result);
});
});