【发布时间】:2012-05-05 00:49:05
【问题描述】:
我想使用 jquery 中的 toggle()(或 hide()),但它不起作用。
我知道我使用的语法还不错。它适用于jsFiddle,但我无法使其适用于剃刀视图。
这是我想使用的代码:
<script type="text/javascript">
$(".hidden").toggle();
</script>
@Using Html.BeginForm(IsPost)
@Html.ValidationSummary(True)
@<fieldset>
<legend>contact</legend>
<table>
<tr>
<td><h3>@Html.Raw("Données personnelles : ")</h3></td>
</tr>
<tr>
<td>@Html.Raw("Nom : ")</td>
<td>@Html.EditorFor(Function(model) model.nom)
@Html.ValidationMessageFor(Function(model) model.nom)</td>
<td>@Html.Raw("Prénom : ")</td>
<td>@Html.EditorFor(Function(model) model.prenom)
@Html.ValidationMessageFor(Function(model) model.prenom)</td>
</tr>
<tr>
<td class="hidden">@Html.Raw("Date de naissance : ")</td>
<td>@Html.EditorFor(Function(model) model.dateNaissance)
@Html.ValidationMessageFor(Function(model) model.dateNaissance)</td>
</tr>
</table>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
End Using
生成的html代码如下:
<tbody><tr>
<td><h3>Données personnelles : </h3></td>
</tr>
<tr>
<td>Nom : </td>
<td><input class="text-box single-line" id="nom" name="nom" value="" type="text">
<span class="field-validation-valid" data-valmsg-for="nom" data-valmsg-replace="true"></span></td>
<td>Prénom : </td>
<td><input class="text-box single-line" id="prenom" name="prenom" value="" type="text">
<span class="field-validation-valid" data-valmsg-for="prenom" data-valmsg-replace="true"></span></td>
</tr>
<tr>
<td class="hidden">Date de naissance : </td>
<td><input class="text-box single-line" id="dateNaissance" name="dateNaissance" value="" type="text">
<span class="field-validation-valid" data-valmsg-for="dateNaissance" data-valmsg-replace="true"></span></td>
</tr>
以下是与这些跨度相关的 CSS:
/* Styles for validation helpers
-----------------------------------------------------------*/
.field-validation-error {
color: #ff0000;
}
.field-validation-valid {
display: none;
}
.input-validation-error {
border: 1px solid #ff0000;
background-color: #ffeeee;
}
.validation-summary-errors {
font-weight: bold;
color: #ff0000;
}
.validation-summary-valid {
display: none;
}
/* Styles for editor and display helpers
----------------------------------------------------------*/
.display-label,
.editor-label {
margin: 1em 0 0 0;
}
.display-field,
.editor-field {
margin: 0.5em 0 0 0;
position:relative;
left:5px;
}
.text-box {
width: 30em;
}
.multiline
{
height: 6.5em;
position:relative;
left:5px;
}
.tri-state {
width: 6em;
}
.display-field
{
font-size:1.5em;
}
我可以做些什么来绕过所有这些东西来隐藏页面的某些部分?
【问题讨论】:
-
把你的脚本放到document.ready
-
jquery的基本用法你需要等待DOM元素准备好
$(document).ready -
@ai.farfa:不,你没有。你只需要确保你的脚本在它需要操作的DOM元素之后运行。只需将脚本放在页面末尾即可轻松完成。
标签: javascript jquery asp.net css razor