最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Listen any changes event on table HTML by jQuery - Stack Overflow

programmeradmin1浏览0评论

I want to make Total field in HTML table always listen if any changes on Qty/Price/Disc field (see below). So Total field always updated.

Id | Product | Qty | Price | Disc | Total
1  |    A    |  1  |   2   |  0   |   2
2  |    B    |  2  |  10   |  10  |  18
...

Here's the HTML : /

How to do this using javascript/jQuery?

Thanks in advance

I want to make Total field in HTML table always listen if any changes on Qty/Price/Disc field (see below). So Total field always updated.

Id | Product | Qty | Price | Disc | Total
1  |    A    |  1  |   2   |  0   |   2
2  |    B    |  2  |  10   |  10  |  18
...

Here's the HTML : http://jsfiddle/ao6t2axs/

How to do this using javascript/jQuery?

Thanks in advance

Share Improve this question edited Aug 7, 2015 at 10:28 andrefadila asked Aug 7, 2015 at 10:03 andrefadilaandrefadila 6872 gold badges12 silver badges38 bronze badges 5
  • 2 How are the fields being updated? Are they inputs or are they being updated by some other JS? – Andy Newman Commented Aug 7, 2015 at 10:05
  • please show your code, what you are asking is relativly simple, but without seeing your code people can only guess. how is the table built? what is the element holding those values? how is Qty/Price etc updated? – atmd Commented Aug 7, 2015 at 10:07
  • Now, I am using other JS (x-editable), at least i want to know if we use HTML inputs to update the fields. @AndyNewman – andrefadila Commented Aug 7, 2015 at 10:08
  • now, i start coding with detect any changes in every field (Qty, Price, Disc) @atmd – andrefadila Commented Aug 7, 2015 at 10:12
  • "i start coding with detect any changes in every field" what are 'fields'? td? td? div? input? show your html and js and you'll get much more informed answers – atmd Commented Aug 7, 2015 at 10:14
Add a ment  | 

1 Answer 1

Reset to default 6

Have updated your jsfiddle with a working solution

http://jsfiddle/5bym3jq5/

Code is

$('#table').on('change', 'input', function () {
    var row = $(this).closest('tr');
    var total = 0;
    $('input', row).each(function() {
        total += Number($(this).val());
    });
    $('.total', row).text(total);
});

Basically watch for any time an input inside the table fires a change event, find the row that that input is a part of, then update the total value for that row.

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>