1、需求:
01一行的input只读,值=02+03+04
当修改02、03、04中的任何一个输入框时,01中的值就会改变,并等于02/03/04之和
2、解决思路:
(1)html:
在02/03/04所有的input上添加class="valueChange"
<input class="form-control form-control-sm valueChange"th:value="${data.l08}"th:id="${sta.index + '_l08'}"data-rule-required="true"name="l08"autocomplete="off"oninput="value=value.replace(/[^\d]/g,'')">
οninput="value=value.replace(/[^\d]/g,'')" 这个是为了让输入框只能输入数字
(2)jquery:
/*** 修改输入框监听事件* class为valueChange的input绑定监听事件,* 获取当前修改的input id* 02、03、04的input 中id是有规律的,截取当前input的id,获取公共id标识符* 找到02、03、04的inputid 相加* 将结果赋值给01对应的input*/propertyChange: function () {var self = this;$('.valueChange').bind('input propertychange', function () {var changeId = $(this).attr("id");//获取修改的input的idvar data = $('#' + changeId).val();if (data) {var publicId = changeId.substr(2, changeId.length);var totalValue = parseInt($('#1_' + publicId).val()) +parseInt($('#2_' + publicId).val()) + parseInt($('#3_' + publicId).val());$('#0_' + publicId).prop('value', totalValue);//将01行对应的input的值改变}})},