Javascript函数从html选择菜单获取所选值的总和
我的HTML代码是:Javascript函数从html选择菜单获取所选值的总和,javascript,html,jquery-mobile,Javascript,Html,Jquery Mobile,我的HTML代码是: <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"
<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);
}
功能检查\u sm()
{
var c_值=0;
对于(var i=0;i
功能不工作。我需要一些建议 你的意思是:
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);
}
我认为select元素中没有“checked”属性。您必须使用.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);
}
函数getSum(){
var sm=document.getElementById(“sm”);
var总和=0;
对于(var i=0;i,使用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);
}
功能检查\u sm(){
var c_值=0;
var sm1=document.getElementById(“sm”);
对于(变量i=0;i
使用jquery可以做得更好:-
$("select").change(function () {
var count = 0;
$("select option:selected").each(function () {
count = Number(count) + Number($(this).val());
});
alert(count);
}).change();