我有一个表,用户可以在其中选择行,并且可以在表的标题中进行编辑。问题是,当他们选择行并更改值时;例如类别。首次编辑该行并单击更新时,它将进行相应更改。但是当他们为Category或其他任何下拉列表选择另一个值时。他们无法将其从以前的值改回。
这是我的代码段,不要介意背景色
var opt = $("#Category_h option:selected").val();
$('#' + dataTR).find('td[data-attr=Category]').find("#Category option[value='" + opt + "']").attr("selected", true);
if ($("#" + dataTR).find('td[data-attr=Category]').css('background-color') == 'rgb(255, 0, 0)') {
if (opt != '') {
$("#" + dataTR).find('td[data-attr=Category]').css('background-color', '');
}
}
这是我的完整代码:Sample Code
谢谢
答案 0 :(得分:0)
代码的问题是您正在使用attr方法来选择选项,但尚未取消选择,因此它停止工作。您可以使用下面的修改后的代码片段使工作正常。
$("input[name='Update']").click(function () {
if ($(this).attr("data-tr") == "-1") { return; };
var dataTR = $(this).attr("data-tr");
dataTR = dataTR.trim();
var customer_model;
var opt = $("#Category_h option:selected").val();
console.log(opt);
$('#' + dataTR).find('td[data-attr=Category]').find("#Category").val(opt);
if ($("#" + dataTR).find('td[data-attr=Category]').css('background-color') == 'rgb(255, 0, 0)') {
if (opt != '') {
$("#" + dataTR).find('td[data-attr=Category]').css('background-color', '');
}
}
var tax = $("#Tax_rule_h option:selected").val();
$('#' + dataTR).find('td[data-attr=Tax_rule]').find("#Tax_rule").val(tax);
if ($("#" + dataTR).find('td[data-attr=Tax_rule]').css('background-color') == 'rgb(255, 0, 0)') {
if (tax != '') {
$("#" + dataTR).find('td[data-attr=Tax_rule]').css('background-color', '');
}
}
var term = $("#Payment_term_h option:selected").val();
$('#' + dataTR).find('td[data-attr=Payment_term]').find("#Payment_term").val(term);
if ($("#" + dataTR).find('td[data-attr=Payment_term]').css('background-color') == 'rgb(255, 0, 0)') {
if (term != '') {
$("#" + dataTR).find('td[data-attr=Payment_term]').css('background-color', '');
}
}
//BTG v.1.0.0.3
var curr = $("#Currency_h option:selected").val();
$('#' + dataTR).find('td[data-attr=Currency]').find("#Currency").val(curr);
console.log(curr);
if ($("#" + dataTR).find('td[data-attr=Currency]').css('background-color') == 'rgb(255, 0, 0)') {
if (curr != '') {
$("#" + dataTR).find('td[data-attr=Currency]').css('background-color', '');
}
}
});
希望这会对您有所帮助