使用JQuery从点击的复选框获取价值的最佳途径

时间:2013-11-20 01:46:59

标签: ajax jquery checkbox

所有

这是获取当前已选中/未选中复选框值的最佳方式吗?

复选框的数量是任意的,所以我需要一种方法来获取已选中或未选中的复选框的值。

通过观察Firebug,我看到了:

this.defaultValue

我可以获取当前已选中/未选中复选框的值,但不确定这是否真的是最佳方式。

这是HTML,下面是Javascript点击处理程序

    <div id="ClubSponsorshipPartial">
 <table class="table-grid">
  <tr>
      <td> 
           <input type="checkbox" value="000000244187" id="slpBackgroundCheck" name="slpBackgroundCheck"> Person #1
           <input type="checkbox" value="000000533796" id="slpBackgroundCheck" name="slpBackgroundCheck"> Person #2
           <input type="checkbox" value="000000533796" id="slpBackgroundCheck" name="slpBackgroundCheck"> Person #3
       </td>
     </tr>
   </table>
 </div>





     <script type="text/javascript">
 $(document).ready(function () {
  $("#ClubSponsorshipPartial input[type=checkbox]").click(function (e) {
    var queryStr = '';
    var clubKeyNumber = '';
    var receivedBackgroundCheckChecked = false;

    var memberId = this.defaultValue
    clubKeyNumber = 'K06253';
    receivedBackgroundCheckChecked = ($("#ClubSponsorshipPartial input[type=checkbox]").is(":checked") ? "true" : "false");
    queryStr = "memberId=" + memberId + "&isChecked=" + receivedBackgroundCheckChecked;
    $.ajax({
            type: "POST",
            url: '/Dashboard/BackgroundCheck',
            data: queryStr,
            datatype: 'json',
            success: function (data) {
            $.notification({
                content: 'SLP Advisor Background Check status saved.',
                error: false,
                timeout: 5000
            });
            },
            failure: function (data) {
            $.notification({
                content: 'Error saving SLP Advisor Background Check status.',
                error: true,
                timeout: 5000
            });
            },
            timeout: 5000
        });
        });
});
</script>

1 个答案:

答案 0 :(得分:1)

您的网页文档中的ID应该是唯一的,您应该使用$(this)来映射当前的DOM,您可以尝试下面的代码,可能有所帮助;

http://jsfiddle.net/kJQr9/