javascript - make row clickable after refresh in mvc -


i want make row clickable after refresh. have in view:

@foreach (var item in model) {     <tr class="@(item.id == (int)(session["id"] ?? 0) ? ".tr.sfs-selected  .table.sfs-selectable tbody .datatable sfs-selected .datatable sfs-selectable .table-responsive" : string.empty)" onclick="'<tr>'" data-url="@url.action("index", new routevaluedictionary { { "id", item.id } })">         <td>             @html.displayfor(modelitem => item.id)         </td>         <td>             @html.displayfor(modelitem => item.name)         </td>         <td>             @html.displayfor(modelitem => item.isenabled)         </td>         <td>     </tr> } 

i have jquery:

$("table.sfs-selectable tbody").on("click", "tr", function (ev) {     var $row = $("tr.sfs-selected").each(function(){         selectrow($row, !$row.hasclass("sfs-selected"));     }); }); 

however row not clicked after refresh.

thank you

the view:

   <table class="table table-striped table-bordered table-hover datatable sfs-selectable sfs-col1-right-aligned">                      <thead>                         <tr>                             <th>                                 @html.routelink(html.displaynamefor(model => firstitem.id).tostring(), "sort-product", new { sortcolumn = "id", sortorder = (viewbag.sortcolumn == "id" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring, filter = viewbag.filter })                                 @viewhelper.getsortindicator("id", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th>                                 @html.routelink(html.displaynamefor(model => firstitem.name).tostring(), "sort-product", new { sortcolumn = "name", sortorder = (viewbag.sortcolumn == "name" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring, filter = viewbag.filter })                                 @viewhelper.getsortindicator("name", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th>                                 @html.routelink(html.displaynamefor(model => firstitem.isenabled).tostring(), "sort-product", new { sortcolumn = "enabled", sortorder = (viewbag.sortcolumn == "enabled" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring, filter = viewbag.filter })                                 @viewhelper.getsortindicator("enabled", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th>                                 @html.routelink(html.displaynamefor(model => firstitem.formname).tostring(), "sort-product", new { sortcolumn = "formname", sortorder = (viewbag.sortcolumn == "formname" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring, filter = viewbag.filter })                                 @viewhelper.getsortindicator("formname", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th>                                 @html.routelink(html.displaynamefor(model => firstitem.templatename).tostring(), "sort-product", new { sortcolumn = "design", sortorder = (viewbag.sortcolumn == "design" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring, filter = viewbag.filter })                                 @viewhelper.getsortindicator("design", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th>                                 @html.routelink(resources.entity.product.publicurl, "sort-product", new { sortcolumn = "urlname", sortorder = (viewbag.sortcolumn == "urlname" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring, filter = viewbag.filter })                                 @viewhelper.getsortindicator("urlname", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th>                                 @html.displaynamefor(model => firstitem.submittedforms)                             </th>                             <th>                                 @html.routelink(html.displaynamefor(model => firstitem.modificationdate).tostring(), "sort-product", new { sortcolumn = "modified", sortorder = (viewbag.sortcolumn == "modified" && viewbag.sortorder != "desc") ? "desc" : "", searchstring = viewbag.searchstring })                                 @viewhelper.getsortindicator("modified", viewbag.sortcolumn, viewbag.sortorder)                             </th>                             <th class="hidden"></th>                         </tr>                     </thead>                     <tbody>                                                 @foreach (var item in model) {                                                      <tr class="@(item.id == (int)(session["id"] ?? 0) ? ".tr.sfs-selected  .table.sfs-selectable tbody .datatable sfs-selected .datatable sfs-selectable .table-responsive" : string.empty)"   data-url="@url.action("index", new routevaluedictionary { { "id", item.id } })">                                                         <td>                                                             @html.displayfor(modelitem => item.id)                                                         </td>                                                         <td>                                                             @html.displayfor(modelitem => item.name)                                                         </td>                                                         <td>                                                             @html.displayfor(modelitem => item.isenabled)                                                         </td>                                                         <td>                                                             @{                             bool viewlink = item.isenabled;                             if (!string.isnullorempty(item.formname)) {                                 var form = item.formlibraryentry;                                 if (form == null) {                                     viewlink = false;                                     @html.displayfor(modelitem => item.formname)                                                                 <em>(@resources.entity.environment.removed)</em>                                 }                                 else {                                     @html.displayfor(modelitem => form.name)                                                                 <a href="@url.action("details", "formlibrary", new { id = item.formname })"><i class="fa fa-fw fa-external-link-square text-info"></i></a>                                 }                             }                                                             }                                                         </td>                                                         <td>                                                             @{                             if (!string.isnullorempty(item.templatename)) {                                 var template = item.templatelibraryentry;                                 if (template == null) {                                     viewlink = false;                                     @html.displayfor(modelitem => item.templatename)                                                                 <em>(@resources.entity.environment.removed)</em>                                 }                                 else {                                     @html.displayfor(modelitem => template.name)                                                                 <a href="@url.action("details", "designtemplate", new { id = item.templatename })"><i class="fa fa-fw fa-external-link-square text-info"></i></a>                                 }                             }                                                             }                                                         </td>                                                         <td>                                                             @if (!string.isnullorempty(item.urlname)) {                                         var defaultproducturi = customerconfig.tohosturi(request.url.scheme, defaulthostheader, request.url.port, (isproduction ? "" : "test/") + item.urlname);                                         if (viewlink) {                                             @item.urlname                                                                 <a href="@defaultproducturi.tostring()" title="@resources.entity.product.viewproduct" target="_blank"><i class="fa fa-fw fa-external-link-square text-info"></i></a>                                         }                                         else {                                             @item.urlname                                         }                                     }                                                         </td>                                                         <td>                                                             @{                              int cnt = item.submittedforms.where(prod => prod.order.isproduction == isproduction).count();                             @(cnt.tostring() + " ")                             if (cnt > 0) {                                 <a href="@url.action("index", "submittedforms", new { filter = item.id })">                                     <i class="fa fa-fw fa-external-link-square text-info"></i>                                 </a>                              }                                                             }                                                         </td>                                                         <td class="text-nowrap">                                                             @item.modificationdate.tostring("g")                                                         </td>                                                         <td class="hidden">                                                             <span>                                                                   @if (!string.isnullorempty(item.urlname) && !string.isnullorempty(item.formname)) {                                                                     @html.routelink(resources.action.navigation.preview, "productpreview", new { producturl = item.urlname, customerschema = custschema }, new { target = "_blank" })                                         }                                         else { @(resources.action.navigation.preview)  }                                                                 | @html.actionlink(resources.action.navigation.details, "details", new { id = item.id })                                                                 | @html.actionlink(resources.action.navigation.edit, "edit", new { id = item.id })                                                             </span>                                                         </td>                                                        </tr>                            }                          </tbody>                 </table> 

so have tbody in it. problem have double click on row

this selectrow function:

function selectrow($row, dosel) {             var $section = $row.closest("section");             if (dosel) {                 $section.find("tr.sfs-selected").removeclass("sfs-selected");                 $row.addclass("sfs-selected");                 $section.find(".sfs-actionbutton").each(function (index) {                     var $btn = $(this);                     $btn.addclass("disabled");                     var href = $row.find("td:last a").filter(function () {                         return $(this).text().trim() == $btn.text().trim();                     }).attr("href");                      if (href) {                         $btn.attr("href", href).removeclass("disabled");                         if ($btn.parent().is(".btn-group")) {                             $btn.parent().children("a").removeclass("disabled");                             $btn.attr("data-href", href + "/");                             $btn.attr("href", href + "/" + $(".sfs-select-preview-template .active a").attr("href"));                         }                     }                 });             }             else {                 $row.removeclass("sfs-selected");                 $section.find(".sfs-actionbutton").addclass("disabled");             }         } 

you have wrong selector, gess should this:

var $row = $("tr.sfs-selected").each(function(){         selectrow( $(this), $(this).hasclass("sfs-selected"));     }); 

the point in each() method can 1 of collection element this keyword.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -