我在每个循环中都有多个复选框,所有循环都具有不同的数据属性。
<input data-pid="<?php echo $name ?>" class="live" name="live" id="live" type="checkbox" value="">
在JQuery中,我试图获取checked选项的data属性以及是否选中它。
$(".live").click(function() {
var n = this.id
var a = this.attr("data-pid");
我似乎无法获得id或attr
答案 0 :(得分:1)
https://jsfiddle.net/nydo9ues/1/
$('.live').change(function(){
var chkbx=$(this);
console.log(chkbx.data());//Will give you a JSON Object with your data https://api.jquery.com/data/
console.log(chkbx.attr('id'));//id of the element changing
console.log(chkbx.is(':checked'));//Status of the checkbox
});
答案 1 :(得分:0)
attr()
是一种jQuery方法,所以你必须使用$(this).attr()
而不是this.attr()
$(function() {
$(".live").change(function() {
var n = this.id
var a = $(this).attr("data-pid");
console.log('id=', n, ' pid=', a , ' checked=', this.checked)
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" data-pid="1" id="live_1" class="live">
<input type="checkbox" data-pid="2" id="live_2" class="live">
<input type="checkbox" data-pid="3" id="live_3" class="live">
<input type="checkbox" data-pid="4" id="live_4" class="live">
<input type="checkbox" data-pid="5" id="live_5" class="live">
&#13;
使用您的控制台检查错误。您应该看到this.attr()
的一个不是函数