2014-02-27 51 views
0

我的許多DIV具有相同的類.list。他們充滿了ID element的其他股利。在這些element divs有一個複選框和文本框。我能夠獲得所有選中的複選框的下一個Textfield值。我已經將它們保存到一個數組中,但是我想爲每個.list都使用一個數組。JQuery - 通過具有相同類的DIV進行循環,併爲它們中的每一個創建數組

這是我的代碼看起來是迄今:

function test(){ 
var array = new Array(); 
    $(".list > #element").each(function(){ 
    array.push($(this).find('input:checkbox[class=unterpunkte]:checked').next('input[type=textfield]').val()); 
    }); 
    console.log(array); 
} 

我怎樣才能dynamcially創造每個列表的數組。我不想有一個數組保存所有值的數組。我需要數組.list的每個div的數組。有任何想法嗎?

HTML/PHP:

echo("<div class='list' name='$oberpname' value='$oberpname'>"); 

     while($satz != null) 
     { 
      echo("<div id='element'><label><input type='checkbox' class='unterpunkte' name='$satz[unterpname]' value='$satz[unterpid]'><input type='textfield' class='$oberpname' value='$satz[unterpname]' readonly/></label></div>"); 
      $satz=mysql_fetch_assoc($cursor); 
     } 

     echo("</div>"); //.list div end 

編輯注:添加的HTML/PHP

+0

請提供html –

+2

根據定義,ID必須是唯一的。 – elclanrs

+0

@AnoopJoshi - 新增。 – Preprocezzor

回答

2

注:元素的ID必須是唯一的,所以不是使用element作爲ID使用它作爲一個類。

可以創建一個數組的數組,並訪問使用list元素的索引複選框的所需列表LIK

function test() { 
    var array = new Array(); 
    $(".list").each(function() { 
     var vals = $(this).find('input:checkbox[class=unterpunkte]:checked').next('input[type=textfield]').map(function() { 
      return this.value; 
     }).get(); 
     array.push(vals) 
    }) 
    console.log(array); 
} 

現在array[0]將給予列表1中的值,其中爲array[1]將給出值對於清單2

+0

這對我有用。謝謝。我對我的'未呈現的'HTML有個疑問。有沒有更好的方法使其呈現出來?我使用PHP是因爲我從數據庫中獲得了一些值,並將它們填充到PHP Varaibles中。 – Preprocezzor

+1

你的PHP代碼沒問題......但是當你發佈一個與html相關的問題時,我們會對實際的html看起來比模板更感興趣,因爲如果你共享PHP或其他模板,那麼我們需要花費時間通過查找什麼將是實際的html –

+0

最好的方法是在瀏覽器中查看目標頁面上的源代碼並從那裏獲取html - 這將是由您的php代碼創建的實際html –

相關問題