2012-07-20 46 views
0

我有點困惑,我試圖做到這一點,當用戶從下拉框中選擇一個選項時,它會在同一頁面上動態更新總數,而無需重新加載。通過下拉動態​​更新總數

換句話說,我在下拉框(1,2,3,4,5)中有5個不同的選項,如果用戶選擇1,它需要通過一個簡單的等式,然後在「總的「框中,我想動態地做這個問題,沒有重新加載,任何人都可以給我任何建議或提示我應該使用什麼和任何教程,可能有幫助(代碼等...)

謝謝

+0

不要問代碼。沒有人會付錢寫下它。作爲一個建議,我可以說:看看Ajax。 – Leri 2012-07-20 08:36:00

+0

可以請你發佈你的html代碼嗎? – Nirmal 2012-07-20 08:36:39

回答

1

這應該用Javascript來完成。我可以推薦使用jQuery的JavaScript框架http://jquery.com/

有了,這是很容易做你想要什麼:

$("select").change(function(){ 
    var currentValue = parseInt($(this).find("option:selected").val()); 
    //do whatever calculation e.g 
    result = currentValue * 2 + 1; 
    //output result somewhere on the page e.g. 
    $("#output").html(result); 
}) 
+0

輝煌的,我剛剛測試了這個,它的工作原理,唯一我想到的其他事情是,說我有兩個不同的下拉列表,這兩個都需要被插入到同一個方程中,我該怎麼做? – Arken 2012-07-20 08:49:28

+0

給兩個選擇相同的類名稱,例如'class =「calculate」',然後將第1行中的jQuery選擇器從'$(「select」)'更改爲'$(「。calculate」)'。 _Explanation_:當使用類作爲選擇器時,只要具有該類的元素將被更改,就會調用更改函數。既然你在兩種選擇中都使用相同的公式,這就是要走的路。如果你有不同的方程,那麼你需要編寫不同的函數。 – Horen 2012-07-20 09:00:58

+0

好的非常感謝您的幫助 – Arken 2012-07-20 09:24:16

0

//這是你在你的頁面中使用與DDL

了jQuery
$(document).ready(function() { 
     $("#FloorId").change(function() { 
      var ddlValue = $(this).val(); 

       $.getJSON('calculate.php', { "Id": ddlValue }, function (obj) { 
        $("total").text(obj.value); 
       }); 
     }); 
    }); 

總回報計算中的頁面

0

,如果你不需要它存儲在數據庫中的客戶端的簡單使用jquery能做到這一點。 對於選擇更改,您可以通過「只讀」設置從輸入中檢索總數,然後添加用戶選擇的當前數字。記住將選擇或用戶不能添加兩個時間同一個號碼:

$(document).ready(function(){ 
    $('select#add').change(function(){ 
    var total = parseInt($('input#total').val())+parseInt($(this).val()); 
    $('input#total').val(total); 
     $('select#add option[value=""]').attr('selected', true); 
    }); 
}); 

看到這個http://jsfiddle.net/3TMK8/的工作示例使用HTML