鍍金池/ 問(wèn)答/HTML/ jquery中,如圖,1,2,3,填寫完之后4,5可以自動(dòng)計(jì)算,但是6卻不可以自

jquery中,如圖,1,2,3,填寫完之后4,5可以自動(dòng)計(jì)算,但是6卻不可以自動(dòng)計(jì)算?

圖片描述

  <div id="mouthroom" style="display: none;">
            <div class="clear" style="width: 700px;margin: 0 auto;">
                <div class="left" id="jiner_sz" style="width: 50%">
                    <div class="clear" style="margin-top:20px;">
                        <div class="left qwer1">合同編號(hào)</div>
                        <div class="left main-ipt1 sw_contract_num"><input  type="" name="" id="contract_num" value="" /></div>
                    </div>
                    <div  data-id = '-1' class="clear pullnext" style="margin-top:20px ">
                        <div class="left qwer1">租金</div>
                        <div class="left main-ipt1 sw_unit"><input class="youhuiInput1" type="" name="" id="zujin" value="" /><span>元/m2?天</span></div>
                        <div class="left radio1">
                            <label>
                                <input type="checkbox" name="sex" value="1" />
                                <div class="option"></div><!--該div盛放的是優(yōu)化后的按鈕圖片-->
                                <span class="opt-text">優(yōu)惠</span>
                            </label>
                        </div>
                    </div>
                    <div class="clear" style="margin-top:20px;display: none">
                        <div class="left qwer1">折扣</div>
                        <div class="left main-ipt1"><input type="" name="" id="discount" value="10" /></div>
                    </div>
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1 ">支付方式</div>
                        <div class="left main-ipt1 sw_unit_pay " style="width: 47px"><span>&nbsp;&nbsp;押&nbsp;</span><input type="" name="" id="hetong_ya"  /></div>
                        <div class="left main-ipt1 sw_unit_pay " style="width: 47px"><span>付&nbsp;</span><input type="" name="" id="hetong_fu"  /></div>
                    </div>


                </div>
                <div class="left" style="width: 50%">
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">免租期</div>
                        <div class="left main-ipt1 sw_unit"><input type="" name="" id="mianzu" value="" /><span>&nbsp;天</span></div>
                    </div>

                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">合同起租日</div>
                        <div class="left main-ipt1"><input type="" name="" id="txtBeginDate" value="" /> <img class="rqxl" src="../img/xiala.png" alt="" style="position: absolute; top: 13px;right: 13px;z-index: ;" /></div>
                    </div>

                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">合同計(jì)租日</div>
                        <div class="left main-ipt1"><input type="" name="" id="txtBeginDate1" value="" readonly/></div>
                    </div>
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">合同終止日</div>
                        <div class="left main-ipt1"><input type="" name="" id="txtEndDate" value="" /> <img class="rqxl" src="../img/xiala.png" alt="" style="position: absolute; top: 13px;right: 13px;z-index: ;" /></div>
                    </div>
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">物業(yè)費(fèi)</div>
                        <div class="left main-ipt1 sw_unit"><input type="" name="" id="wuye_price" value="" /><span>&nbsp;元/m2?天</span></div>
                    </div>
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">物業(yè)押金</div>
                        <div class="left main-ipt1 sw_unit"><input type="" name="" id="wuye_deposit" value="" /><span>&nbsp;元</span></div>
                    </div>
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">房租押金</div>
                        <div class="left main-ipt1 sw_unit"><input type="" name="" id="deposit" value="" /><span>&nbsp;元</span></div>
                    </div>
                    <div class="clear" style="margin-top:20px ">
                        <div class="left qwer1">總押金</div>
                        <div class="left main-ipt1 sw_unit"><input type="" name="" id="zong_deposit" value="" /><span>&nbsp;元</span></div>
                    </div>
                </div>
            </div>
//改變押幾,物業(yè)費(fèi)之后,自動(dòng)改變物業(yè)押金
$("#hetong_ya,#wuye_price").bind('input propertychange',function(){
    if(!$('#hetong_ya').val()||!$('#wuye_price')){
        return
    }
    $('#wuye_deposit').val($('#hetong_ya').val() * Math.ceil($('#wuye_price').val()*365/12*$('#max_are').val()));


});
//自動(dòng)計(jì)算總押金
$("#wuye_deposit,#deposit").bind('input propertychange',function(){

    $('#zong_deposit').val($("#wuye_deposit").val()+$("#deposit").val());


});

1,6并不會(huì)自動(dòng)計(jì)算呀,而是必須修改一下4,5才可以自動(dòng)計(jì)算?
2,修改4,5之后的自動(dòng)計(jì)算并不是按照數(shù)據(jù)的加法,而是成了字符串的拼接?

回答
編輯回答
孤酒

使用js中修改input值不會(huì)觸發(fā)oninput 事件的,所以6 不會(huì)自動(dòng)計(jì)算。
建議調(diào)整下位置。

$("#hetong_ya,#wuye_price").bind('input propertychange',function(){
    if(!$('#hetong_ya').val()||!$('#wuye_price')){
        return
    }
    $('#wuye_deposit').val($('#hetong_ya').val() * Math.ceil($('#wuye_price').val()*365/12*$('#max_are').val()));
    // 這里加一段。
     $('#zong_deposit').val($("#wuye_deposit").val()+$("#deposit").val());


});
//自動(dòng)計(jì)算總押金
$("#wuye_deposit,#deposit").bind('input propertychange',function(){

    $('#zong_deposit').val($("#wuye_deposit").val()+$("#deposit").val());


});

還有 val() 是獲取到的字符串,所以要用 parseFloat() 轉(zhuǎn)換一下。

2017年4月1日 00:41
編輯回答
久礙你

關(guān)于第二個(gè)問(wèn)題,我可以來(lái)回答一下:
*/+-不算同一緯度的運(yùn)算符,
在console中可以做簡(jiǎn)單測(cè)試,

'2'*4 // 8
'2'+4 // 24

對(duì)的,*/是會(huì)隱性強(qiáng)制轉(zhuǎn)換的
在html的input中的值都是以字符串格式來(lái)存儲(chǔ)的,所以結(jié)果這樣并不奇怪,可以考慮使用 '2'|0或者parseInt()來(lái)解析;
關(guān)于第一個(gè)問(wèn)題,我并沒有深入了解過(guò)jquery,便不獻(xiàn)丑了。

2018年4月20日 13:28
編輯回答
亮瞎她

可能是onpropertychange事件 失效了

2017年4月29日 07:10
編輯回答
默念

第二個(gè),因?yàn)?code>val()得到的都是字符串,需要parseFloat()或者parseInt()轉(zhuǎn)為數(shù)字。

能否貼一下 html 代碼,因?yàn)椴恢?wuye_deposit 這些選擇器對(duì)應(yīng)什么?

具體需求能再描述清楚就更好了。

2018年7月27日 22:44