Javascript 我对所有值求和,但为什么';s不适用于所有动态总计字段
我使用的是Javascript 我对所有值求和,但为什么';s不适用于所有动态总计字段,javascript,html,laravel,vue.js,laravel-5.7,Javascript,Html,Laravel,Vue.js,Laravel 5.7,我使用的是laravel5.7&vuejs2.5.* 简而言之:当我输入值时,我会在“总计”字段中得到总和,但当我动态添加项目行时,它不适用于其他项目行,它只适用于第一行 说明:我有一些税收分解的输入字段,我需要将它们相加并显示在税收分解总额字段中。在我的TicketInvoiceItems中,我有Taxes\u Breakup字段和Total\u Taxes\u Breakup字段,当我输入所有值时,我在Total\u Taxes\u Breakup中得到总和,但当我动态添加TicketInv
laravel5.7
&vuejs2.5.*
简而言之:当我输入值时,我会在“总计”字段中得到总和,但当我动态添加项目行时,它不适用于其他项目行,它只适用于第一行
说明:我有一些税收分解
的输入字段,我需要将它们相加并显示在税收分解总额
字段中。在我的TicketInvoiceItems
中,我有Taxes\u Breakup
字段和Total\u Taxes\u Breakup
字段,当我输入所有值时,我在Total\u Taxes\u Breakup
中得到总和,但当我动态添加TicketInvoiceItems
字段时,TicketInvoiceItems
中的其他Total\u Tax\u BreakUp
字段与第一个Total\u Tax\u BreakUp
字段相同。下面是一张图像,以便于更好地理解。谢谢
这是我的HTML
代码:
我的VueJs数据()
:
data(){
返回{
编辑模式:对,
ticketInvoices:{},
表格:新表格({
id:“”,
供应商id:“”,
车票发票号:“,
票证\发票\日期:“”,
票务发票总额:“,
票务项目:[{
id:“”,
票证\发票\ id:“”,
乘客姓名:“,
部门:“,
税务局局长:0,
税项(SRP):0,,
税款:0,
税款:0,
总税费明细:0,
}]
})
};
},
我的计算:
代码:
计算:{
总税(){
让calTaxTotal=
parseInt(this.form.ticketInvoiceItems[0].tax\u SB)+
parseInt(this.form.ticketInvoiceItems[0].tax\u SRP)+
parseInt(this.form.ticketInvoiceItems[0].tax\u YQ)+
parseInt(this.form.ticketInvoiceItems[0].tax\u RG);
this.form.ticketInvoiceItems[0]。总计\u税费\u细分=calTaxTotal;
返回calTaxTotal;
}
},
问题出在您的计算属性中。所有索引都位于0或表的第一行。如果您想将多行相加,则需要将索引传递到totalTax中。因此,计算属性不是最佳选择。将其转换为方法,并将索引(或键)传递给方法
<input :value="getTotalTaxes(key)"
id="total_tax_breakup"
type="number" size="10"
name="total_tax_breakup"
class="table-control form-control">
问题出在您的计算属性中。所有索引都位于0或表的第一行。如果您想将多行相加,则需要将索引传递到totalTax中。因此,计算属性不是最佳选择。将其转换为方法,并将索引(或键)传递给方法
<input :value="getTotalTaxes(key)"
id="total_tax_breakup"
type="number" size="10"
name="total_tax_breakup"
class="table-control form-control">
最好将
v-for
中的代码分离到自定义组件。更简单。我是新手,所以我不明白你说了什么,除非你用简单的方式详细说明,否则我的英语也不太好。。。。。顺便说一句,谢谢兄弟。您最好将v-for
中的代码分离到自定义组件。更简单。我是新手,所以我不明白你说了什么,除非你用简单的方式详细说明,否则我的英语也不太好。。。。。顺便说一句,谢谢兄弟。谢谢兄弟的支持,但我接受了上面的答案,我认为这是最简单的一个…你能帮我一个忙吗?你能帮我解决这个问题吗@弗农·建豪·斯塔克:谢谢兄弟的支持,但我接受了上面的答案,我认为这很简单……你能帮我一个忙吗?你能帮我解决这个问题吗@弗农:谢谢兄弟。。。。。你能让我也帮我摆脱这个吗@肖恩·斯塔克:谢谢兄弟。。。。。你能让我也帮我摆脱这个吗@肖恩·斯塔克:
<input :value="getTotalTaxes(key)"
id="total_tax_breakup"
type="number" size="10"
name="total_tax_breakup"
class="table-control form-control">
methods: {
/**
* The index parameter is the current row that you are working on
* @param index
* @returns {number}
*/
getTotalTaxes(index) {
let calTaxTotal =
parseInt(this.form.ticketInvoiceItems[index].tax_SB) +
parseInt(this.form.ticketInvoiceItems[index].tax_SRP) +
parseInt(this.form.ticketInvoiceItems[index].tax_YQ) +
parseInt(this.form.ticketInvoiceItems[index].tax_RG);
this.form.ticketInvoiceItems[index].total_tax_breakup = calTaxTotal;
return calTaxTotal;
}
}