$("table").keyup(function () {
var sum = 0;
$("input").each(function() {
if (!Number.isNaN(parseInt(this.value))) {
sum = sum + parseInt(this.value);
}
});
$("div").text(sum);
});
我有一个字段表。我已经知道如何对所有文本字段求和,但我尝试做的是将select字段值为1的文本字段求和。
答案 0 :(得分:0)
试试这个:您可以迭代select
代码并检查所选值是否等于1,然后读取下一个td
$("table").keyup(function () {
var sum = 0;
$("select").each(function() {
if($(this).val()=="1")
{
// get parend td -> next to parent td -> read input value
var val = $(this).closest('td').next().find('input').val();
if (!Number.isNaN(parseInt(val)))
{
sum = sum + parseInt(val);
}
}
});
$("div").text(sum);
});
<强> Demo 强>
答案 1 :(得分:0)
尝试
$("table").keyup(function () {
var sum = 0;
$("input").each(function () {
if ($(this).closest("td").prev("td").find("select").val() == 1) {
if (!Number.isNaN(parseInt(this.value))) {
sum = sum + parseInt(this.value);
}
}
});
$("div").text(sum);
});
工作原理
$(this).closest("td") // select closest parent td
.prev("td") // select prev td
.find("select").val() // find drop down and get value
答案 2 :(得分:0)
以下是这两种方法的解决方案,当您更改option
或keyup
时.. DEMO ..
$("table").keyup(function () {
var sum = 0;
$("input").each(function() {
if ($(this).parent().prev().find("#select_list").val() == 1 && !Number.isNaN(parseInt(val))) {
sum = sum + parseInt(this.value);
}
});
$("div").text(sum);
});
$("select").change(function(){
var sum = 0;
$("select").each(function() {
if($(this).val()=="1")
{
var val = $(this).parent().next().find('input').val();
if (!Number.isNaN(parseInt(val))) {
sum = sum + parseInt(val);
}
}
});
$("div").text(sum);
});