有两个像这样定义的文本框,它们位于转发器中:
<asp:TextBox ID="txtHours" runat="server" CssClass="text misch" Width="50px" Text='<%# Eval("laborHours") %>'/>
<asp:TextBox ID="txtCosts" runat="server" CssClass="text misc" Width="50px" Text='<%# Eval("totalCosts") %>'/>
我还有两个盒子,我想把总数:
<asp:TextBox ID="txtMiscH" runat="server" CssClass="text hours" Width="200px" />
<asp:TextBox ID="txtMisc" runat="server" CssClass="text add" Width="200px" />
当转发器中的值发生变化时,我想将它们相加并放入相应的总框中。
这就是我现在的位置:
//add up miscaleneous mnumbers
//dollar amoungs
$("input[class~='misc']").change(function (event) {
var sum = 0;
var num = 0;
$("input[class~='misc']").each(function (event) {
num = parseInt($(this).val()) || 0;
sum = sum + num;
});
$("input[id*='txtMisc']").val(sum);
$("input[class~='add']").trigger('change');
});
//hours
$("input[class~='misch']").change(function (event) {
var sum = 0;
var num = 0;
$("input[class~='misch']").each(function (event) {
num = parseInt($(this).val()) || 0;
sum = sum + num;
});
$("input[id*='txtMiscH']").val(sum);
});
但它看起来不像第一个选项。
我也看到有不同的方式来选择输入
input[class~
或input[class*
或input[class^
我猜因为misc也是misch的一部分,它会进行数小时的计算,即使我只更新了misc成本框。请你。重命名类类型是解决这个问题的最简单方法吗?
答案 0 :(得分:0)
您可以使用直接指示dom元素的选择器,而不是使用$("input[class~='misc']")
$("input.misc")
$("input.misc[type=text]")
$("input.misc:text")
对于input[id*='txtMiscH']
例如
$("input#txtMiscH")
$("input#txtMiscH[type=text]")
$("input#txtMiscH:text")
希望这会有所帮助!!