我的情况是,我在表格中有详细信息行,其中复选框为选择组件
我期望的行为是
1)当我点击细节行图像时,该行应展开,显示其父行的详细信息,但不应选中该复选框,并且必须删除父行的背景颜色 - 正常工作
2)当打开详细信息行并单击复选框时,应选中该复选框,并且父行的背景颜色应更改正常工作。
3)当详细信息行打开并且选中复选框时,如果我执行详细信息行的折叠,则复选框状态应保持原样,父行的背景颜色必须保持相同正常工作
当我选择第一行
时,以上所有情况都可以正常工作问题是
当我选择第二行时,保留第一行checkox状态,但删除父行的背景颜色。 我正在使用 的 $(行).siblings( “选择”)addClass( “选择”);
为了保留先前选择的兄弟行的背景颜色
但它没有按预期工作请帮助
谢谢
**framework**.table.prototype._details_link_renderer = function(cell_value, is_detail_open)
{
var details_img_url = this._properties.details_open_img_url;
if(is_detail_open)
{
details_img_url = this._properties.details_close_img_url;
}
var img = $(document.createElement("img")).attr("src", details_img_url).addClass("open_close_img");
var link = $(document.createElement("a")).attr("href", "#noAnchor").attr("title", rdx.i18n.get_string("rdx.table_show_hide_title")).append(img).bind(rdx.events.CLICK, {ns_table: this}, function(event) {
var row=$(this).parents("tr:eq(0)");
var rowInd =$(this).parents("tr:eq(0)").index()/2;
//var rowcount=$(row).index()+1;
$(row).siblings(".selected").addClass("selected");
event.data.ns_table._toggle_details_row($(this).parents("tr:eq(0)").index()/2);
if(!$(event.data.ns_table._select_checkbox_array[rowInd]).is(':checked'))
{
$(row).toggleClass("selected");
}
if ($(event.data.ns_table._select_checkbox_array[rowInd]).is(':checked'))
{
$(row).addClass("selected") ;
//$(row).siblings(".selected").addClass("selected");
}
event.stopPropagation();
});
我有自己定义的框架
答案 0 :(得分:0)
首先,$(row).siblings(".selected").addClass("selected");
可以删除,因为它不会执行任何操作:它会选择$(row)
属性包含class
的{{1}}的兄弟姐妹。 selected
只会添加该类。
因此,.addClass("selected");
之前有两个if
语句。据我所知,它们可以被更简单的event.stopPropagation();
/ if
取代:
else
这会给你你想要的东西吗?