通过JQuery传递已选中的复选框数据属性

时间:2017-05-10 21:24:26

标签: jquery

我在每个循环中都有多个复选框,所有循环都具有不同的数据属性。

  <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

2 个答案:

答案 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()

&#13;
&#13;
$(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;
&#13;
&#13;

使用您的控制台检查错误。您应该看到this.attr()的一个不是函数