2013-12-15 115 views
0

我對這個腳本編程還不熟悉......仍在學習過程中。我對自己有一個難題,我需要幫助。幫助表示讚賞。下面的情況是:如何使用ajax選擇獲得多個選擇值

我有不同的數值兩個選擇選項。在選擇第一和第二而不刷新時,將添加兩個值。我怎樣才能在不刷新頁面的情況下使用ajax獲得腳本。

<select name="select1"><option value="123"></option></select> 
<select name="select2"><option value="546"></option></select> 

<div id="addition">here the two value will be added...</div> 

回答

0

這可能對你有幫助。

<html> 
<head> 
<script type="text/javascript"> 
function addemall() 
{ 
var num1,num2,tot=0; 
num1=document.getElementById("num1"); 
num2=document.getElementById("num2"); 
if(num1.value&&num2.value){ 
tot=parseInt(num1.value)+parseInt(num2.value); 
} 
document.getElementById("addition").innerHTML="Total :- "+tot+""; 
} 
</script> 
</head> 
<body> 
<select name="select1" id="num1" onChange="addemall();"> 
<option value="1001">1001</option> 
<option value="123">123</option> 
</select> 
<select name="select2" id="num2" onChange="addemall();"> 
<option value="1001">1001</option> 
<option value="546">546</option> 
</select> 
<div id="addition">here the two value will be added...</div> 
</body> 
</html> 

這是JavaScript程序。但你應該看看文檔對象模型(DOM)。

我不認爲你在這裏需要ajax。

希望它會有所幫助。以前的代碼不起作用,因爲該函數被命名爲add(),我不知道它爲什麼給出這個問題。但我現在已經改變了我的答案,它的工作原理。請看看這個。

+0

你好我吠陀試過你的代碼,但沒有任何輸出.. – user3103905

+0

@現在user3103905檢查我的答案。我編輯過,現在它可以工作。 –

+0

它的作品vedants謝謝...還有一個問題。我可以顯示而不是div的值嗎? – user3103905

0

使用jQuery:

<script> 
var val1 = ~~($('select[name="select1"]').val()); //~~(x) is the same as floor(x) 
var val2 = ~~($('select[name="select2"]').val()); 
var val = val1 + val2; 
$('#addition').html(val); 
</script> 

,不需要阿賈克斯。但是,如果由於某種原因,你要總結兩個數字服務器端您可以通過使用Ajax給他們這樣的:

<script> 
var val1 = ~~($('select[name="select1"]').val()); //~~(x) is the same as floor(x) 
var val2 = ~~($('select[name="select2"]').val()); 
$.ajax 
({ 
    type:"POST", 
    async:true, 
    url:"addition.php", 
    data:{val1:val1, val2:val2} 
}).done(function(msg) 
{ 
    $('#addition').html(msg); 
}); 
</script> 

,並有文件addition.php讀取兩個POST值,並把它們相加。