Javascript Post Request Onchange

时间:2015-08-11 09:14:27

标签: javascript jquery post

早!

我正在尝试根据选择框中的更改填充输入值,因此用户选择代码并填充金额,我需要选择框以保持其值,因此我无法使用那个改变的价值。

我在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 :(

2 个答案:

答案 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);
    });
});