0

我有一个有 4 列的网格:

  1. 姓名
  2. 数量
  3. 成本
  4. 总消耗

在这4个NameCost将来自数据库并且Quantity是一个文本字段。当我们在文本字段中输入值时,它应该转到 java 并执行Quantity * Cost并填充totalcost。这是我的要求。为此,我使用以下代码:

在我的jsp中,我有一个这样的容器:

<div id="search-results-list" class="green-results-list" style="height: 150px; width: 697px;">
</div>
Handler.setupGrid();

在 setupGrid 的 js 文件中,我有以下代码行。

setupGrid : function() {

        $('.green-results-list').html('');
        $.post('note.json', 'action=get-grid-data', function(obj) {
            var data = obj.result.data;
            if(data !== undefined){
                if(data.length>0) {
                    var rowstr = '';
                    for(var x=0;x<data.length;x=x+1) {
                        rowstr=rowstr+'<div class="ui-content report-content">';
                        rowstr=rowstr+'<div class="report-body" style="width: 697px;height: 50px;">';
                        rowstr=rowstr+'<div class="report-body-column2 centered" style="height: 41px; width: 150px">'+data[x].name+'</div>';
                        rowstr=rowstr+'<div class="report-body-column2 centered" style="height: 41px; width: 150px">'+'<input type = "text"  class="quantity" size=10px>'+'</div>';
                        rowstr=rowstr+'<div class="report-body-column2 centered" style="height: 41px; width: 150px">'+data[x].cost+'</div>';
                        rowstr=rowstr+'<div class="report-body-column2 centered" style="height: 41px; width: 150px">'+data[x].totalCost+'</div>';
                        rowstr=rowstr+'</div></div>';
                        }
                    $('.green-results-list').append(rowstr);

                } else {
                $('.green-results-list').html('<div class="success-msg">No Data Exist.</div>');
            }
        }else {
            $('.green-results-list').html('<div class="success-msg">No Data Exist.</div>');
        }
    });

    }

当我在文本字段中输入值时,我使用以下代码行获取文本字段值:

$('.quantity').live("blur",function(){
    var data = $(this).val();
    alert(data);
 });

使用它我得到文本字段值。但我的问题是,当我将值输入到该特定行的文本字段totalCost中时,只需要生效。

我怎样才能做到这一点?任何帮助将不胜感激。

谢谢你,对不起我的英语不好。我希望你能理解我的问题。

4

1 回答 1

0

例如,您可以使用最接近()函数找到“行”

var $row = $(this).closest("div");

更新:

并使用text()或 HTML 使用html()函数获取 div 的文本

var text = $row.text();
var html = $tow.html();

我建议你先学习基础知识。例如来自Try jQuery截屏视频。

于 2013-05-03T06:08:35.870 回答