javascript函数从HTML选择menue获得选择值的总和
问题描述:
我的HTML代码是javascript函数从HTML选择menue获得选择值的总和
<div data-role="fieldcontain"style="padding:0; margin:0; padding-top:0px;">
<div style = "margin-top:-5px">
<select name="selectmenue1" id="sm" data-native-menu = "false" multiple = "multiple" >
<option value="1" selected="selected">iOS</option>
<option value="2">Android</option>
<option value="3">BlackBerry</option>
<option value="4">Others</option>
</select>
</div>
</div>
,我使用这个JavaScript函数来获取选定值的总和
function check_sm()
{
var c_value = 0;
for (var i=0; i < document.myform.sm.length; i++)
{
if (document.myform.sm[i].checked)
{
c_value = (eval(c_value) + eval(document.myform.sm[i].value));
}
}
alert(c_value);
}
功能不加工。需要一些建议。由于
答
使用selected应该可以解决你的问题。请参见下面的代码
function check_sm() {
var c_value = 0;
var sm1 = document.getElementById("sm");
for (var i = 0; i < sm1.length; i++) {
if (sm1[i].selected)
{ c_value = (eval(c_value) + eval(sm1[i].value)); }
} alert(c_value);
}
答
你的意思是:
var c_value = 0;
function check_sm() {
var Selected = document.myform.selectmenue1.selectedIndex;
var selectedVal = document.myform.selectmenue1.options[Selected].value;
selectedVal = parseInt(selectedVal, 10);
c_value +=selectedVal;
alert(c_value);
}
答
我不认为有被“选中”属性中选择元素可用。你必须使用.selected属性来确定选项是否被选中,类似 -
function getSum(){
var sm = document.getElementById("sm");
var sum = 0;
for(var i=0;i<sm.options.length;i++)
{
if(sm.options[i].selected){
sum+=parseInt(sm.options[i].value);
}
}
alert(sum);
}
答
你可以做的更好的使用jQuery: -
$("select").change(function() {
var count = 0;
$("select option:selected").each(function() {
count = Number(count) + Number($(this).val());
});
alert(count);
}).change();
由于它的工作原理... !!! – 2012-03-09 10:27:54