Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中需要的逻辑_Javascript - Fatal编程技术网

javascript中需要的逻辑

javascript中需要的逻辑,javascript,Javascript,我有一个选择,这是很好的工作,但我想要的是,如果选择了一个以上,然后10%的折扣必须添加,如何做到这一点 在选中时,Java脚本中的值会成倍增加 //javascript function totprice(f,n,amt) { var tot=0; document.getElementById('lbl_tot'+n).value=amt*f;

我有一个选择,这是很好的工作,但我想要的是,如果选择了一个以上,然后10%的折扣必须添加,如何做到这一点

在选中时,Java脚本中的值会成倍增加

//javascript

function totprice(f,n,amt)
                {

                    var tot=0;
                    document.getElementById('lbl_tot'+n).value=amt*f;

                    for (var k=1; k<=document.getElementById('rowcnt').value; k++)
                    {

                            if(document.getElementById('lbl_tot'+k))
                            {
                                tot=parseInt(tot) + parseInt(document.getElementById('lbl_tot'+k).value);
                            }

                    }

                    document.getElementById('txttot').value=tot;

                    document.getElementById('txttotprice').value=tot;


                }
HTML


您的选择标签应该是

<select name="amt" id="amt" onchange="return totprice(this.value,2,110);" multiple>
如果f=2且金额=110,则x=220。您需要执行parseIntvalue,默认基数为10

例如:


希望这有帮助

如何选择多个?它不是多重选择否它不是多重选择,在选择时,该值与此值相乘。值*110,但如果选择了多个,则如何传递折扣?我假设OP的意思是,如果所选选项的值>1…?它不是多重选择。如果选项值大于1,则只希望传递折扣在哪里传递折扣值??是否要将其传递到另一个页面、另一个函数或何处?是否要在javascript中传递折扣,如果选择了多个选项,则无折扣无问题:。。。如果这有助于您接受答案:
<select name="amt" id="amt" onchange="return totprice(this.value,2,110);" multiple>
var x = parseInt(f)*parseInt(amt);
var optionSelected = document.getElementById('amt').value;  //optionSelected is nothing but this.value
if(optionSelected > 1)
{
 //Offer discount
 var x = parseInt(f)*parseInt(amt);  //where f and amt is passed through function call
}
else
{
 // Do nothing/ other logic
}