是否有使用asp.net/jquery切换一个div可见使用这样的复选框,当一个办法:jQuery选择为“Html.CheckBoxFor”
<%: Html.CheckBoxFor(m => m.Type) %>
我知道该怎么做了jQuery部分,但我不确定如何确定该框是否已被点击或更改。是否有某种onChange或onClick我可以添加到此?
编辑 - 让我改变这一点...如何将一个id分配给Html.CheckBoxFor()?
是否有使用asp.net/jquery切换一个div可见使用这样的复选框,当一个办法:jQuery选择为“Html.CheckBoxFor”
<%: Html.CheckBoxFor(m => m.Type) %>
我知道该怎么做了jQuery部分,但我不确定如何确定该框是否已被点击或更改。是否有某种onChange或onClick我可以添加到此?
编辑 - 让我改变这一点...如何将一个id分配给Html.CheckBoxFor()?
你可以认购.change()
事件.toggle()
基础上的复选框是否已被检查或不div的可见性:
$(function() {
$('#mycheckbox').change(function() {
var isChecked = $(this).is(':checked');
$('#someDivId').toggle(isChecked);
});
});
要确定此复选框,你既可以给它分配一个唯一的ID:
<%: Html.CheckBoxFor(m => m.Type, new { id = "mycheckbox" }) %>
或类:
<%: Html.CheckBoxFor(m => m.Type, new { @class = "check" }) %>
,然后调整你的jQuery选择。
是的,大多数html元素都有onclick/onchange事件。
我们假设您的复选框有一个id = “checkbox1”,你可以做以下
var myCheckBox = document.getElementById("checkbox1");
myCheckBox.addEventListener('change', function(){do something}, false);
我的意思是我如何分配一个ID到复选框?我在ASP.Net中使用CheckBoxFor,我不确定如何设置ID。 – Cody
看到这个问题:get the generated clientid for a form field,这就是我的回答:
我用这个帮手:
public static partial class HtmlExtensions
{
public static MvcHtmlString ClientIdFor<TModel, TProperty>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression)
{
return MvcHtmlString.Create(
htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(
ExpressionHelper.GetExpressionText(expression)));
}
}
使用它就像任何其他的辅助:@ Html.ClientIdFor(型号=> model.client.email)
或脚本:
$(function() {
$('#@Html.ClientIdFor(m=>m.Type)').change(function() {
// Do stuff
});
});
我觉得复选框的ID会被自动设置为它被用于创建对象的属性。所以在上面的例子中,它会是'id ='Type''。您可以随时查看代码创建的标记以进行仔细检查。 – ipr101