我是新來javascript,jquery和ajax,需要幫助使我的代碼更有效率。我有以下的javascript/jQuery函數工作正常:創建通用的JavaScript/jQuery的ajax功能
<script type="text/javascript">
$(document).ready(function()
{
$("#promo1").change(function() //select menu id that triggers script on change
{
//data here
$.ajax
({
//ajax stuff here
{
//individual values from json array
//set each value textbook value
$("#discprice1").val(disc);
$("#itemprice1").val(total);
$("#tax").val(tax);
$("#grandtotal").val(grand);
}
});
});
});
</script>
我改變我原來的功能,這個建議後:
<script type="text/javascript">
$(document).ready(function()
{
var setupCalculation = function(index) {
$("#promo" + index).on("change", function() //select menu id that triggers script on change
{
//rest of the function is here....
,改變我的選擇是:
<select name="promo<?php echo $i; ?>" id="promo<?php echo $i; ?>"
onchange="setupCalculation('<?php echo $i; ?>');">
但是,它不起作用。我錯過了什麼?
但是,我需要爲10個不同的計算行做10次同樣的事情。我怎樣才能做到這一點,所以我可以一般地使用這個函數,只是將選擇框的「id」傳遞給函數,而不是對每個選擇器重複這個代碼10次,例如, #promo1,#promo2,#promo3等......
我假設我需要添加onchange =「javascript function here();」到html代碼,但我無法得到它的工作。
謝謝!
我更新了原有的描述:一個jQuery的函數,從選擇的對象調用它。 – XanderNGCC
好的經驗法則,如果你打算使用jQuery ......忘記內聯代碼像'onclick'或'onchange'一樣存在,並獨自使用jQuery不顯眼的方法 – charlietfl