jQuery Selector For "Html.CheckBoxFor"
本文关键字:quot CheckBoxFor Html Selector For jQuery | 更新日期: 2023-09-27 18:07:07
当使用像这样的复选框时,是否有一种方法使用asp.net/jquery来切换div可见性:
<%: 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" }) %>
是的,大多数html元素都有onclick/onchange事件。
假设您的复选框有一个id="checkbox1",您可以做以下操作
var myCheckBox = document.getElementById("checkbox1");
myCheckBox.addEventListener('change', function(){do something}, false);
看这个问题:获取生成的客户端为一个表单字段,这是我的答案:
我使用这个帮助器:
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=>model.client.email)
或脚本中的
$(function() {
$('#@Html.ClientIdFor(m=>m.Type)').change(function() {
// Do stuff
});
});