这是标记:
$('.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>
如果我将事件更改为单击或将其更改为 ...)。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>
答案 0 :(得分:3)
错误的选择
您的选择器错误,您正在使用clsEvent
类
这些选择器是正确的选择你想要的;):
.clsEvent
input[type=checkbox].clsEvent
.ulEvent input[type=checkbox]
尝试从.val()
Event Object
此外e
是Event Object
,您的元素是$(e.target)
$('input[type=checkbox].clsEvent').change(function(e) {
var title = $(e.target).val();
console.log(title);
});
&#13;
<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>
&#13;
答案 1 :(得分:1)
这是因为你的选择器错了。
尝试以下:
$('input[type=checkbox].clsEvent').change(function(e) {
debugger;
var title = $(e).val();
});
您正在尝试在.clsEvent类中输入 ,因此没有找到任何内容,因为您的输入具有类clsEvent。