在网格点击行,用剃刀/ JavaScript的(clickable rows in web grid

2019-10-17 16:03发布

用我用一些JavaScript的助手的WebGrid有整个行可点击,并且工作在JavaScript我需要把剃刀正常,但是在href链接。

JavaScript代码在这里:

<script type="text/javascript">
$(function(){
    $('tbody tr').live('hover', function(){
        $(this).toggleClass('clickable');
    }).live('click', function(){
        location.href = '/Messages/Reply/' + $(this).find('td:first').text();   
    }); 
});
</script>

但是这个代码正在值在第一个单元格,并使用在链接,我想给未在显示的WebGrid不同的值。 在这种情况下,对于每个消息而生成一个GUID,命名为“messageGuiD”。

与messageGuiD和玩弄逗号,句号,冒号和任何得到它的工作,但没有成功。我来到最接近的是我做的messageGuiD领域的WebGrid的一部分,用来造型做:我尝试替换“首个TD”它隐藏(显示:无),以及它的工作尽可能发送messageGuiD的网址,但扔了头出来的地方,有一些副作用,表格式...

所述的WebGrid辅助生成从数据库中的表,在这种情况下,它是一个消息收件箱,这里是生成的HTML样本:

<table class="table" data-swhgajax="true" data-swhgcontainer="contentgrid" data- swhgcallback="addCheck">
<thead>
    <tr class="header">
        <th scope="col">
<a data-swhglnk="true" href="/Messages/Inbox?sort=FromUser&amp;sortdir=ASC">From</a>             </th>
        <th scope="col">
<a data-swhglnk="true" href="/Messages/Inbox?sort=messageSubject&amp;sortdir=ASC">Subject</a>            </th>
        <th scope="col">
<a data-swhglnk="true" href="/Messages/Inbox?sort=DateSent&amp;sortdir=ASC">Date Sent</a>            </th>
        <th scope="col">
        </th>
    </tr>
</thead>
<tbody>
    <tr class="rows">
        <td class="mfrom">benatssu</td>
        <td class="msubject"><a href="/Messages/Reply/msg-c75b7310-3708-42b2-bb6a-084ac97dd63c">hello</a></td>
        <td class="mdate">Feb 4, 2013<br>8:02 PM</td>
        <td class="mdel"><input type="checkbox" name="deleteMsg" value="msg-c75b7310-3708-42b2-bb6a-084ac97dd63c"></input></td>
    </tr>
</tbody>
</table>

用户可以通过点击链接到主题列的主题打开他们的消息,该代码来获得在的WebGrid助手使用的链接如下:

format: @<a href="~/Messages/Reply/@item.messageGuiD">@item.messageSubject</a>

与TD的问题:第一个在JavaScript的是,它产生什么是在第一个单元格链接,在这里我的情况下,该消息是来自谁,会产生一个链接/消息/回复/ benatssu即使我移动受第一列,链接将成为/消息/回复/你好。

一种方法是有messageGuiD显示在第一列和链路变得消息/回复/ MSG-c75b7310-3708-42b2-bb6a-084ac97dd63c(这是我想要什么),但后来我在表中显示一个丑陋的长号码。

反正这个问题已经在足够长的时间,如果有人知道一个非复杂的方式来获得JavaScript来读取数据库中的值,然后真棒,如果不是那么它的确定,代码工作具有较小链接主题名称,它只是漂亮得多具有整行选择。 谢谢你的时间。

Answer 1:

$(this).find('td:eq(1) a').attr('href');

或者你可以使用类

 $(this).find('td.msubject a').attr('href');


Answer 2:

使用标签的ID来存储messageGuiD - 然后修改的jQuery> $(本).find( 'TD> A')ATTR( 'ID')。

格式:@@ item.messageSubject

这个想法是在这里... 获取从<TD>使用jQuery ATTR( 'ID')



文章来源: clickable rows in web grid, with razor/javascript