2009-06-27 62 views
0

我從另一頁拉取產品價格。然後,我將它與在數量輸入字段中輸入的數量相乘。問題是,如果我在提取產品價格數據之前忘記輸入數量值,或者稍後更改數量字段,則最終總價格不會更新。我希望我清楚地解釋它。將字段值與檢索值相乘jQuery

的javascript:

$('#AddProduct').click(function() { 
    var i = 0; 
    var adding = $(+(i++)+'<div class="row'+(i)+'"><div class="column width50"><input type="text" id="PRODUCTNAME" name="PRODUCTNAME'+(i)+'" value="" class="width98" /><input type="hidden" class="PRODUCTID" name="PRODUCTID" /><input type="hidden" class="UNITPRICE" name="UNITPRICE'+(i)+'" /><small>Search Products</small></div><div class="column width20"><input type="text" class="UNITQUANTITY" name="UNITQUANTITY'+(i)+'" value="" class="width98" /><small>Quantity</small></div><div class="column width30"><span class="prices">Unit Price:<span class="UNITPRICE"></span><br />Total Price:<span class="TOTALPRICE"></span><br /><a href="#" id="RemoveProduct(".row'+(i)+'");">Remove</a></span></div>');  
    $('#OrderProducts').append(adding); 

    adding.find("#PRODUCTNAME").autocomplete("orders.cs.asp?Process=ListProducts", { 
     selectFirst: false 
    }).result(function(event, data, formatted) { 
     if (data) { 
      adding.find(".UNITPRICE").html(data[1]); 
      adding.find(".PRODUCTID").val(data[2]); 
      adding.find(".TOTALPRICE").html(data[1] * $('.UNITQUANTITY').val()); 
     } 
    }); 

    return false; 
}); 

$('#RemoveProduct').click(function() { 
    $().remove(); 

    return false; 
}); 

我的html:

 <fieldset> 
      <h2>Order Items</h2> 
      <div id="OrderProducts"> 
       <a href="#" id="AddProduct"><img src="icons/add.png" alt="Add" /></a> 
      </div> 
     </fieldset> 
  • 編輯

現在我完全搞砸了。刪除行不工作了,以及...

回答

0

你可以做這樣的事情:

$('input.UNITQUANTITY').blur(function() { 
    var $column = $(this).closest('div.column'); 
    var unit = $column.find('.UNITPRICE').html(); 
    $column.find('.TOTALPRICE').html(unit * $(this).val()); 
}); 

我不知道你的HTML是如何設置,所以你可能需要不同的穿越技術,但想法保持不變(每當單位數量變化時更新字段)。

+0

其實,我想過,但因爲用戶可以添加多個字段集,(PRODUCTNAME1,UNITQUANTITY1,UNITPRICE1,PRODUCTNAME2,UNITQUANTITY2,UNITPRICE2 ,PRODUCTNAME3,UNITQUANTITY3,UNITPRICE3)不起作用。我只是停用密碼保護。這裏是測試鏈接: http://refinethetaste.com/html/cp/?Section=orders&Process=AddOrder – Efe 2009-06-27 22:26:13

0

的刪除鏈接,你可以試試這個:

<a href="#" id="row'+i+'");" class="remove">Remove</a></span> 
$('a.remove').live('click',function() { 
    $('div.'+$(this).attr('id')).remove(); 
});