0
私はMVCアプリケーションを持っていて、テーブルの行をクリック可能にしたいと思って、その上にカーソルを置くと、その背景を変更したい。テーブルの行をクリック可能にする+ホバーを変更する背景
I持って、私は私がホバー機能を追加したい
<script type="text/javascript">
$(document).ready(function() {
$('#example tbody tr').click(function() {
alert('row was clicked');
});
});
</script>
ブログからもらったので、私はそれを変更し、次のコード:
$<script type="text/javascript">
$(document).ready(function() {
$('#example tbody tr').click(function() {
alert('row was clicked');
});
});
$(document).ready(function() {
$('#example tbody tr').hover(function() {
$(this).css('background-color','#ccc');
}, function() {
$(this).css('background-color','#fff');
});
</script>
私のHTML:
<table id="example" border = "2">
<thead>
<tr style="border-style:solid" class="simplehighlight">
<th>
Name
</th>
<th>
Description
</th>
<th>
tblStatu
</th>
<th>
DueDate
</th>
<th>
AssignedTo
</th>
<th>
CreatedOn
</th>
<th>
CreatedBy
</th>
<th>
ModifiedOn
</th>
<th>
ModifiedBy
</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr style="border-style:solid">
<td style="border-style:solid">
@item.Name
@*@Html.DisplayFor(modelItem => item.Name)*@
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.tblStatu.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.DueDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.AssignedTo)
</td>
<td>
@Html.DisplayFor(modelItem => item.CreatedOn)
</td>
<td>
@Html.DisplayFor(modelItem => item.CreatedBy)
</td>
<td>
@Html.DisplayFor(modelItem => item.ModifiedOn)
</td>
<td>
@Html.DisplayFor(modelItem => item.ModifiedBy)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.TaskId }) |
@Html.ActionLink("Details", "Details", new { id = item.TaskId }) |
@Html.ActionLink("Delete", "Delete", new { id = item.TaskId })
</td>
</tr>
}
</tbody>
クリックハンドラは機能しますが、ホバーオーバー機能は機能しません。何が問題なの?
(1)サーバー側のコードではなく、実際にレンダリングされたHTMLを投稿してください。 (2)「ちょうどうまくいかない」とはどういう意味ですか?何かエラーがありますか? – lonesomeday
セレクタが間違っています: '
'要素内の行と一致しますが、行は ''の内部にあります。 –フレデリックは正しいです。 '$( '#example tbody tr')'を '$( '#example tr')'に変更します。そして、ホバリング部分については、私はCSSを使用することをお勧めします。 –
答えて
質問にあなたのコメントからコードを追加した後、私はあなたの2番目の文書準備に決算
});
を逃していることに気づきましたハンドラ。以下を試してください。通知私は、1つの準備ハンドラを使用していて、同じセレクタにjQuery関数を連鎖させています。これはjQueryの美しさの一部です。 @クリスPietschmannノートとして、しかし、あなたはあなたに維持するために以下のコードを与えるCSSと同じ効果を得ることができます。
出典
2011-09-10 14:27:02 tvanfosson
これはブラウザのエラーコンソールを見るだけで簡単に見つかりました。 – Dennis
@Dennisここには意見の相違はありません。元の質問に非作業コードが含まれていなかったので、やや難題でした。 :-) – tvanfosson
これは完璧な人たちの作品!!!!!!!乾杯!!!!! – TeaLeave
あなたはホバー上の異なる背景色を定義するためにCSSを使用することができます。
出典
2011-09-10 14:05:54
これはヘッダーの行にも適用されます。欲しいと思われるものではありません。それはすべてのテーブルにも当てはまります。もし彼が1つのテーブルだけを望むのであれば、はるかに特定のセレクタを使わなければなりません。 – tvanfosson
@tvanfossonまたはテーブル上のクラス 'table.hoverable tr:hover {...} ' – Hogan
関連する問題