我有一个包含4列的网格:
这4个Name
和Cost
来自数据库,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
时才需要生效。
我该怎么做?任何帮助将不胜感激。
谢谢你,抱歉我的英语不好。我希望你能理解我的问题。
答案 0 :(得分:0)
您可以使用closest()功能找到'row',例如
var $row = $(this).closest("div");
<强> UPD:强>
的HTML获取div的文本var text = $row.text();
var html = $tow.html();
我建议你先学习基础知识。例如,来自Try jQuery截屏视频。