2013-12-15 113 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值,并把它们相加。