0

我正在尝试从一个复选框中收集多条数据,但我不确定如何执行此操作。现在我有:

<input tabindex="1" type="checkbox" name="friend[]" id="{{$friend}}" value="{{$friend}}" style="display:inline-block;">

这允许我收集我需要的 id(包含在 {{$friend}} 中)。但我还需要与此 ID 关联的名称。有没有办法从一个复选框中收集多个值?我需要这个,因为我正在收集数据并在不更改视图的情况下移动到另一个表单。这将用于 javascript,它会在检查时打印出视图中的内容(即 id 和 name)。

这是javascript:

<script>
$(document).ready(function(){
    var callbacks_list = $('.callbacks ul');
    $('.facebook-friends-larger input').on('ifChecked', function(event){
        callbacks_list.prepend('<li><img src="https://graph.facebook.com/'+this.id+'/picture" alt="" height="50" width="50"><span id="#'+this.id+'">#' + this.id + '</span> is ' + event.type.replace('if', '').toLowerCase() + '</li>');
    });

    $('.facebook-friends-larger input').on('ifUnchecked', function(event) {
        callbacks_list.find('span#'+ this.id).closest('li').remove();
        console.log(this.id);
    });    
});
</script>

有任何想法吗?感谢您的帮助。

4

4 回答 4

1

试试这个对你有帮助..

 $("input[type=checkbox]").change(function(){
        alert($(this).val()); //get a val
        alert($(this).attr('name')); //get a value of name attribute

    });

小提琴here

于 2013-10-11T05:29:12.980 回答
0

采用:

var name = $("#checkbox-id").attr("name"); // Use whatever method you have to target the checkbox

依此类推以获取其他值

于 2013-10-11T05:19:46.857 回答
0

试试这个

HTML

<input tabindex="1" type="checkbox" name="friend[]" id="123" value="{{$friend}}" style="display:inline-block;">test

JS

$(document).ready(function(){
    $("#123").change(function(){
        $(this).val(); //get a val
        console.log($(this).attr('name')); //get a value of name attribute

    });

});

小提琴

于 2013-10-11T05:24:44.970 回答
0

如果您在页面加载之前有权访问用户名(因此能够在页面加载或用户操作之后将其注入 DOM 而无需进行 ajax 查询),您可以将它们存储在 HTML5data-属性中,例如,data-name以下列格式:

<input tabindex="1" type="checkbox" name="friend[]" id="{{$friend}}" value="{{$friend}}" data-name="{{name}}" style="display:inline-block;">

您可以通过简单地调用.data()jQuery 中的方法来访问该名称,即$('input').data('name').

于 2013-10-11T12:28:02.603 回答