jQuery - 使用iButton获取特定复选框的值

时间:2014-08-05 22:11:33

标签: javascript jquery checkbox

<form id="blabla" method="post">
<input type="checkbox" name="test" id="iButton" value="1" class="button" />
</form>

<form id="blabla" method="post">
<input type="checkbox" name="test" id="iButton" value="1" class="button" />
</form>

$(document).ready(function (){
      $(":checkbox").iButton({
            change: function() {
                var sendData = $("input", this).val();
                var dataString = "cmd="+sendData;
                $.ajax(
                {type:"POST",
                url: "http://meinserver.com",
                data: dataString,
                success: alert(dataString)}
                );
                return false;
            }
      });
    });

有人可以解释我如何获取发送的复选框的值吗?如果我使用$(“input”,this).val()var是未定义的,如果我使用的是$(“input”)。val()我只得到第一个复选框的值。

我使用了来自here的示例代码,但这会返回所有已选中复选框的数组。我只想拥有更改的特定复选框。 Thx提前。

2 个答案:

答案 0 :(得分:0)

我正在使用我不想错过的iButton jQuery Plug-in v1.0.03 :)我想这不是必须将id放入要转换为iButton的复选框的输入标记中。它没有在我的剧本上工作。

以下是我找到解决问题的方法。

<form id="myform" method="post">
<input type="checkbox" name="mykey" value="myvalue" id="iButton"/>
</form>

<form id="myform" method="post">
<input type="checkbox" name="mykey" value="myvalue" class="button"/>
</form>

<script type="text/javascript">
    $(document).ready(function (){
      $(":checkbox").iButton({
            change: function($input) {
                var sendData = $($input).val();
                var dataString = "cmd="+sendData;
                $.ajax(
                {type:"POST",
                url: "http://meinserver.com",
                data: dataString,
                success: alert(dataString)}
                );
                return false;
            }
      });
    });
</script>

答案 1 :(得分:-1)

以下是您的代码的略微修改版本。我将每个元素更改为具有唯一ID并取出ajax调用。请注意,我还向传递给名为event的change方法的函数添加了一个参数,这可能是获取更改的复选框的最简单方法。 - &GT; event.target

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
<form id="blabla1" method="post">
<input type="checkbox" name="test" id="iButton1" value="1" class="button" />
</form>

<form id="blabla2" method="post">
<input type="checkbox" name="test" id="iButton2" value="1" class="button" />
</form>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(document).ready(function (){
    $(":checkbox").change(function(event){
        alert($(event.target).is(':checked'));
    });
});
</script>
    </body>
</html>