使用回调函数时,加载会覆盖输入文本框

时间:2013-12-04 18:24:40

标签: javascript jquery html ajax

我正在编写一个“添加到购物车”按钮,该按钮对数据库进行ajax调用,并在成功时返回有效数据。返回数据后,我想让它加载一个HTML文件并运行一个回调函数,用ajax数据填充输入字段。

我的问题:当回调运行时,它会覆盖先前的HTML值。

AJAX:

success: function(data) {
    $('.upc').val('');
    $('#cart').append(
        $('<div />').load('views/sale/_addItem.php',function(){
            $('#qty').val('1');
            $('#upc').val(data['upc']);
            $('#name').val(data['name']);
            $('#price').val(data['price']);
        })
    );

_addItem.php文件

<input id="qty" type="text" value="" name="qty[]">
<input id="upc" type="text" value="" name="upc[]" disabled>
<input id="name" type="text" value="" name="name[]" disabled>
<input id="price" type="text" value="" name="price[]" disabled>
<input id="extprice" type="text" value="" name="extprice[]" disabled>
<br/>

Here is the gist. Removed unnecessary code.

编辑:我不知道为什么会这样做。我正在研究处理这个问题的最佳方法。

1 个答案:

答案 0 :(得分:0)

尝试使用模板,它们可能会对您有所帮助。将HTML定义为模板并调用它以将其附加到完成或成功。

understanding Jquery template