使用webgrid助手我已经使用了一些JavaScript来使整个行可以点击,并且工作正常,但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和juggled逗号,句号,冒号和任何东西替换'td:first'以使其工作但没有成功..我最接近的是我将messageGuiD字段作为webgrid的一部分并使用样式化使其隐藏(显示:无),并且它的工作方式就是将messageGuiD发送到URL,但这会使标题不合适并对表格格式产生一些副作用......
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&sortdir=ASC">From</a> </th>
<th scope="col">
<a data-swhglnk="true" href="/Messages/Inbox?sort=messageSubject&sortdir=ASC">Subject</a> </th>
<th scope="col">
<a data-swhglnk="true" href="/Messages/Inbox?sort=DateSent&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>
首先在JavaScript中使用td:问题是它生成与第一个单元格中的内容的链接,在我的情况下,它是消息来自的人,并将生成链接/ Messages / Reply / benatssu和即使我将主题移到第一列,链接也会变为/ Messages / Reply / hello。
一种方法是在第一列显示messageGuiD,链接变为Messages / Reply / msg-c75b7310-3708-42b2-bb6a-084ac97dd63c(这就是我想要的)但是我显示了一个丑陋的长号在表中。
无论如何,这个问题已经持续了很长时间,如果有人知道一种非复杂的方法让JavaScript从数据库中读取值然后很棒,如果不是那么它没关系,代码适用于主题名称的较小链接,整个行可选择更漂亮。谢谢你的时间。
答案 0 :(得分:1)
$(this).find('td:eq(1) a').attr('href');
或者你可以使用类
$(this).find('td.msubject a').attr('href');
答案 1 :(得分:1)
使用A标签的ID存储messageGuiD-然后修改jquery> $(this).find('td> a')。attr('id')
格式:@@ item.messageSubject