我正在尝试编辑表格行。当我尝试对其进行编辑时,以前的值没有更新到新的输入框。我想在新的输入框中获取数字。我尝试传递value="' + $(this).text() + '">'
,但它适用于type="text"
,而不适用于type =“ number”。谁能帮忙。
// Edit row on edit button click
$(document).on("click", ".edit", function(){
$(this).parents("tr").find("td:not(:last-child, :nth-last-child(2))").each(function(){
$(this).html('<input type="text" class="heading_label-box" value="' + $(this).text() + '">');
});
$(this).parents("tr").find("td:nth-last-child(3)").each(function(){
$(this).html('<input type="number" class="heading_total-weight" value="' + $(this).text() + '">');
});
$(this).parents("tr").find(".add, .edit").toggle();
$(".add-heading, .add-point").attr("disabled", "disabled");
});
我尝试过$(this).val()
,$(this).value()
,但无法获取该值。
答案 0 :(得分:0)
由于您要使用输入更新的对象是TD,因此应改为:
$(document).on("click", ".edit", function(){
$(this).parents("tr").find("td:not(:last-child, :nth-last-child(2))").each(function(){
let thisVal = $(this).text();
let inputObj = $('<input type="text" class="heading_label-box"/>');
inputObj.val(thisVal);
$(this).html('');
$(this).append(inputObj);
});
$(this).parents("tr").find("td:nth-last-child(3)").each(function(){
let thisVal = $(this).text();
let inputObj = $('<input type="number" class="heading_total-weight"/>');
inputObj.val(thisVal);
$(this).html('');
$(this).append(inputObj);
});
$(this).parents("tr").find(".add, .edit").toggle();
$(".add-heading, .add-point").attr("disabled", "disabled");
});
答案 1 :(得分:0)
输入数字类型似乎无效。
$(this).html('<input type="number" class="heading_total-weight" value="' + $(this).text() + '">');
.text()返回String,因此它不起作用。