2013-02-07 23 views
2

我使用twitter引導模式,我想做一個模式,當用戶點擊按鈕它出現與具有特定值的複選框,當模態隱藏添加到我的HTML值(旁邊.btn)..從多個複選框中獲取值並將其附加到html?

下面是HTML

<body> 

<!-- Get the button problem --> 

<!-- Button to trigger modal --> 

啓動演示模式

<!-- Modal --> 
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button> 
    <h3 id="myModalLabel">Modal header</h3> 
    </div> 
    <div class="modal-body"> 
    <label for="value"> 
     <input type="checkbox" name="value1" value="1">value1 
    </label> 
    <label for="value"> 
     <input type="checkbox" name="value2" value="2">value2 
    </label> 
    <label for="value"> 
     <input type="checkbox" name="value3" value="3">value3 
    </label> 
    </div> 
    <div class="modal-footer"> 
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
    <button class="btn btn-primary">Save changes</button> 
    </div> 
</div> 

,這裏是我的腳本:

<script type="text/javascript"> 
    jQuery(document).ready(function($) { 
    $('#myModal .btn').last().on('click', function(){ 
     var checkbox_val = $('input:checkbox:checked').val(); 
     var MyModal = $('#myModal'); 
     function get_value() { 
      var allVals = []; 
      $('input:checkbox:checked').each(function() { 
       allVals.push(checkbox_val); 
      }); 

      $('a.btn').after("<p>" + allVals + "</p>"); 
     } 
     MyModal.modal('hide').on('hidden', function(){ 
      get_value(); 

     }) 

    }); 
    }); 
</script> 

編輯 下面是當我選擇所有複選框allVals值 [ 「1」, 「1」, 「1」]

我想要的值是 [ 「1」,「 2" , 「3」]

+0

你有什麼?哪條線給出了問題? allVals的最終價值是什麼? –

+0

我在我的問題 – OSos

+0

中添加了編輯值,你想得到'1,2,3'? –

回答

3

我認爲問題是當你在.each循環內做allVals.push(checkbox_val);時,你總是推動相同的值,這就是爲什麼你得到[1,1,1]。所以更新你的jQuery:

jQuery(document).ready(function($) { 
    $('#myModal .btn').last().on('click', function(){ 
     var MyModal = $('#myModal'); 
     function get_value() { 
      var allVals = []; 
      $('input:checkbox:checked').each(function() { 
       allVals.push($(this).val()); //Use the $('this') selector 
      }); 

      $('a.btn').after("<p>" + allVals + "</p>"); 
     } 
     MyModal.modal('hide').on('hidden', function(){ 
      get_value(); 

     }) 

    }); 
    }); 
+1

是的,我明白了..謝謝 – OSos

0

在控制檯陣列返回 「1」, 「1」

$('input:checkbox:checked').each(function() { 
    allVals.push(checkbox_val);// it will return first checkbox value '1' alway 
}); 

對於此替換此線allVals.push(checkbox_val);allVals.push($(this).val());

+0

是的,那是對的 – OSos

相關問題