单击“事件”复选框将不会触发
click event on checkbox will not fire
标记如下:
$('.clsEvent input[type=checkbox]').change(function(e) {
debugger;
var title = $(e).val();
});
This is the function that builds the list and is called in the document ready function:
function popServiceUserEvents(e) {
$.ajax({
type: "POST",
url: "@Url.Action("GetServiceUserEvents")/" + e,
success: function(data) {
if (data.events.length > 0) {
for (var i = 0; i < data.events.length; i++) {
$(".ulEvent")
.append("<li> <input class='clsEvent' type='checkbox' value='" + data.events[i].Value + "'/> " + data.events[i].Text + "</li>");
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="multiEvent">
<ul class="ulEvent" style="display: block;">
<li> <input class="clsEvent" type="checkbox" value="3"> Event 1</li>
<li> <input class="clsEvent" type="checkbox" value="4"> Event 2</li>
</ul>
</div>
如果我将事件更改为click或将其更改为…).on('change',function(…或者如果我只是针对类名尝试事件而不使用类型。
构建列表之前的页面用以下标记定义:
<div class="row eventDrop">
<div class="col-md-6">
<dl class="myDropdown">
<dt>
<a href="#" style="color: #fff; font-weight: normal;">
<span class="topSection">Event</span>
<p class="multiSel"></p>
</a>
</dt>
<dd>
<div class="multiEvent">
<ul class="ulEvent"></ul>
</div>
</dd>
</dl>
</div>
错误选择
您的选择器是错误的,您正在搜索具有clsEvent
类的元素中的复选框
这些选择器是正确的选择你想要的;):
.clsEvent
input[type=checkbox].clsEvent
.ulEvent input[type=checkbox]
试图从Event Object
访问.val()
而且e
是Event Object
,你的元素是$(e.target)
$('input[type=checkbox].clsEvent').change(function(e) {
var title = $(e.target).val();
console.log(title);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="multiEvent">
<ul class="ulEvent" style="display: block;">
<li> <input class="clsEvent" type="checkbox" value="3"> Event 1</li>
<li> <input class="clsEvent" type="checkbox" value="4"> Event 2</li>
</ul>
</div>
这是因为你的选择器是错误的。
$('input[type=checkbox].clsEvent').change(function(e) {
debugger;
var title = $(e).val();
});
您试图在类。clsEvent中获得输入,因此没有找到任何东西,因为您的输入具有类clsEvent。
相关文章:
- 如果选中了多个复选框,如何添加事件
- 复选框,然后单击事件处理
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 选中javascript中的属性集时,复选框更改事件未触发
- jQuery复选框(在ul>li下)检查事件
- 如何禁用自定义复选框的单击事件
- 将函数事件绑定到更改函数的复选框/标签
- 复选框事件onclick不起作用
- 单击复选框后未收到复选框事件
- 使用 JavaScript 复选框事件切换 html 的可见性
- 复选框事件和保持数组-如何在代码中处理
- onclick复选框事件
- 根据某些业务逻辑动态添加和删除复选框事件
- 复选框事件找不到javascript函数
- jqGrid复选框事件
- jQuery复选框事件处理程序Bug
- 如何在指令中捕获复选框事件
- 复选框事件处理程序抛出错误的点击事件在chrome浏览器,safari工作良好的键盘事件
- AJAX调用后未触发语义UI复选框事件
- 使用 jquery 跟踪复选框事件