0

動的に作成されるhtmlテーブルがあります。行数と列数は、検索結果に応じて検索ごとに異なります。これがテーブルの作成方法です。

for(count = 0 ; count < facetList.length ;){
    facetsString+="<div id='test'>";
    facetsString+="<table id='facetTable' border='1' width='830px' style='margin-left:30px; margin-top:30px; font-family:Tahoma; '>";
    for( var i=0 ; i< 6 && count < facetList.length ; i++  ){
        facetsString+="<tr>";
        for(var j=0;j<4 && count < facetList.length ; j++){

            facetsString+="<td><form><input type='checkbox'></form>&nbsp;&nbsp;"+facetList[count].term+  "(" + facetList[count].count + ")" + "</td>";

            count++;
        }
    facetsString+="</tr>";
    }
facetsString+="</table>";

facetsString+="</div>";
}

return facetsString;
};

これで、テーブルの各エントリの前にチェックボックスが表示されます。チェックボックスがオンになっている要素の名前を表示したい...

4

2 に答える 2

1

これが問題のコードです。

function checkCount()
{


 var allVals = new Array();
    var newVals = new Array();

    $('#panel :input[type=checkbox]:checked').each(function() 
    {
        $("#slctFacet").empty();
         newVals.push($(this).parent().text());
         allVals.push($(this).val());

    });
    //alert(allVals);
   // alert(newVals);

    var fctArrayLength=newVals.length;
    //alert(fctArrayLength);
    if(fctArrayLength==0)
        {
        $("#slctFacet").empty();
        }
    else
        {
            for(var i=0;i<fctArrayLength;i++)
                {
            $("#slctFacet").append(newVals[i]);


                }
        }
}
$(":checkbox").click(checkCount);
};
于 2012-04-20T09:11:29.110 に答える
0
// Get the form from its name
var form = document.forms.formName,
// Prepare an array to get the values
    vals = []

// For each element in the form
[].forEach.call( form.elements, function ( el ) {

    // Check if it's a checkbox. If it is, check if it's checked
    if ( el.type === 'checkbox' && el.checked === true ) {

        // Add the value to the "vals" array
        vals.push( el.value )
    }
} )

// Now all the values are available in the "vals" array
console.log( vals )
于 2012-04-20T09:15:33.440 に答える