给定下一个td单元的data-id属性,尝试将值更新到TD单元时遇到麻烦。 有可能在jQuery中吗? 我的目的是:在表中,每一行的最后一个单元格都有一些动作,最后一个单元格具有data-id属性;在这些动作中,可以使用模式上传表单添加图片;提交图像后,我想更新该TR行的图像计数器,以增加TD相关单元格。 非常感谢您的帮助
这是将新行追加到表中的代码。
function mobile_register($mobile)
{
$res = $GLOBALS['db']->getOne("SELECT COUNT(*) FROM " . $GLOBALS['db']->table('users') .
" WHERE mobile_phone = '$mobile'");
return $res;
}
动作单元包括一些图标,以显示模式形式并为每排飞机上载图像或文件。 提交表格以上传图像后,如果成功,我需要更新上面附加的TD单元中的计数值。 这是您提交表单以上传文件的代码(到目前为止,它可以正常工作)
$.ajax({
url: url + "/photos/ajax_search",
data: post_data,
type: "POST",
dataType : "json",
beforeSend: function(){
$('#ajax-container').hide();
},
success: function (data) {
if(data.status)
{
var len = data.rows.length;
for(var i=0; i<len; i++){
var id = data.rows[i].id;
var manufacturer = data.rows[i].manufacturer;
var model = data.rows[i].model;
var cn = data.rows[i].cn;
var built = data.rows[i].built;
var count = data.rows[i].count;
var action = data.rows[i].action;
var tr_str = "<tr>" +
"<td>" + manufacturer + "</td>" +
"<td>" + model + "</td>" +
"<td>" + cn + "</td>" +
"<td>" + built + "</td>" +
"<td>" + count + "</td>" +
"<td data-id='" + id + "'>" + action + "</td>" +
"</tr>";
$("#table tbody").append(tr_str);
}
$('#ajax-container').show();
}
else
{
console.log('Registration not in DB');
}
},
complete:function(data){
$(this).parent().removeClass("spinner");
}
})
我尝试了以下代码,但是它返回了选中的整行的文本...我只需要第4个单元格中的计数值
$('#upload-form').submit(function(e){
e.preventDefault();
var id = $("#register-id").val();
console.log("Submitted id is " + id);
// Create an FormData object
var formData = new FormData(this);
var form_action = $("#modal-form").find("form").attr("action");
// Add token hash in FormData
formData.append("csrf_test_name", token_hash);
$.ajax({
url: form_action,
type:"post",
data: formData,
processData:false,
contentType:false,
dataType: "json",
beforeSend: function(){
$('.uploadBtn').prop("disabled", true);
$('#upload-form').css("opacity",".5");
},
success: function(data){
$('.uploadBtn').prop("disabled", false);
$('#upload-form').css("opacity","1");
}
})
答案 0 :(得分:1)
我不太确定我了解你。您说您是根据JSON文件中的记录ID为TR的ID的,但您又想增加它的ID?我假设您想从JSON集添加新行,还是其他?
关于脚本:此处要做的是找到匹配的单元格,然后使用parent()移至该行,从而将整行作为文本获得:
$('#table').find("td[data-id='" + id + "']").parent().text();
我建议您在第4个单元格上放置一个id,例如“ data-count-id” + id,这样您就可以直接解决该问题:
$('#table').find("td[data-count-id='" + id + "']").text();
如果这不是一种选择,那么您可以像下面这样令人费解:
= $((($('#table').find("td[data-id='" + id +
"']").parent().children()).toArray())[4]).text();
这是您请求父行(TR),获取所有子行(TD),变成数组并请求4t单元格作为文本的原因。如果您打算将其用作数字,则可能还需要执行parseInt。
---编辑---
只需保持开始时使用的语法,但是除了添加自定义属性外,它还可以使用通常的标识符“ id”并将其命名为
<td id='data-count-" + id + "'>
可以这样称呼它:
$("#data-count-" + id).text();