2012-02-13 58 views
0

在android phonegap應用程序中,我動態地創建了帶有問題和選項(chechbox)的div(每個問題有三個或四個複選框)。我有一個提交按鈕。如何獲取動態複選框的值?

現在我想獲得問題的價值和選擇選項,同時點擊按鈕。

如何做到這一點?

請幫助我。提前感謝。

+0

請不要將複選框描述爲選項,因爲HTML *不具備*

+0

你的意思是「選項」而不是「選項」?複選框的要點是可以選擇零個或多個(而不是一個,這是單選按鈕的用途)。 – Quentin 2012-02-13 12:48:25

回答

-1
$(function(){ 
    $('#mybuttonid').click(function(){ 
     var checkbox1 = $('#mycheckboxid1:checked').val(); 
     var checkbox2 = $('#mycheckboxid2:checked').val(); 
     ... 
    } 
} 

將返回true或false

+0

不,它不會。它將返回「未定義」或複選框的值。 – Quentin 2012-02-13 12:46:55

+0

讓我看看你的代碼 – melanke 2012-02-13 12:47:29

+0

嗯。我只是使用你的代碼。由於在我測試的頁面上沒有匹配的元素,因此我得到了'undefined'。 – Quentin 2012-02-13 12:48:49

0

使用該工具來獲取檢查選項

$('#myform :checkbox').find(':checked').val(); 

,或者使用過濾器來代替:

$('#myform :checkbox').filter(':checked').val(); 

獲得的所有值:

var checkedOptions = new Array(); 

    $("#myform :checked").filter(':checked').each(function() { 
     checkedOptions .push($(this).val()); 
    }); 
+0

這將只獲取選中的第一個複選框的值。問題是要求多個複選框的值。 – Quentin 2012-02-13 12:54:14

+0

'find'不會工作。得到相匹配的後代,並且複選框不能有後代。 – Quentin 2012-02-13 12:55:24

1

試試這個:

var selected_values = new Array(); 
    $('#myform :checkbox').each(function(){ 
     if($(this).is(":checked")) 
      selected_values.push($(this).value) 
    }) 
+0

這實際上是工作 – Shaheer 2012-02-13 13:04:41

0

我一直在尋找同樣的事情。我嘗試了Yorgo的答案,但它不起作用。它只是需要使用

$(this).attr("value") instead of $(this).val(); 

工作了我一個小的調整

var selected_values = new Array(); 
$('#myform :checkbox').each(function(){ 
    if($(this).is(":checked")) 
     selected_values.push($(this).attr("value")); 
});