Javascript html表中的下拉项未在行中选择正确的值
我有一个表格,用户可以在其中选择行,并可以在表格的标题中进行编辑。问题是,当他们选择行并更改值时;例如,类别。当第一次编辑行并单击更新时,它将相应地更改。但当他们为类别或任何其他下拉列表选择另一个值时。他们无法将其从以前的值更改回原来的值 这是我的代码片段,不要介意背景颜色Javascript html表中的下拉项未在行中选择正确的值,javascript,jquery,Javascript,Jquery,我有一个表格,用户可以在其中选择行,并可以在表格的标题中进行编辑。问题是,当他们选择行并更改值时;例如,类别。当第一次编辑行并单击更新时,它将相应地更改。但当他们为类别或任何其他下拉列表选择另一个值时。他们无法将其从以前的值更改回原来的值 这是我的代码片段,不要介意背景颜色 var opt = $("#Category_h option:selected").val(); $('#' + dataTR).find('td[data-attr=Category]').find("
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', '');
}
}
这是我的全部代码:
谢谢代码的问题在于您使用的是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', '');
}
}
});
希望这将对您有所帮助代码的问题在于您使用的是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', '');
}
}
});
希望这对你有帮助