0
私はPHPで生成されたチェックボックスの配列を持っています。私は、他のユーザーによる以前の選択のためにすべてのチェックボックスを表示することはできません。3つのPHP変数に基づいて配列内の選択可能なチェックボックスを制限します(最大1列、10行、15合計)
for($i=0;$i<$maxrows;$i++)
{
$already_selected[$i]=0;
for($a=0;$a<$maxcols;$a++)
{
$value=$mat[$i][$a];
if($value>0)
{
echo"<input type='checkbox' name='arr[$i][$a]' value='$uid'/>";
}
else
{
echo"<input type='hidden' name='arr[$i][$a]' value='$value'/>";
$already_selected[$i]+=1;
}
}
}
私は(私のために、少なくとも)で選択可能なチェックボックスを制限する必要がある複雑な方法:ユーザーが選択できるようにする必要があり : - 各列の一つのチェックボックス最大 - あたりの最大$ xにチェックボックスを(ここでxはphpによって次のように計算されます:$ maximum_per_row - $ already_selected) - グリッド全体の最大$ yチェックボックス(yは前のページで受け取ったphp変数です)。
可能ですか?
は多分何かのように:明らかに動作しません
echo"
<script type='text/javascript'>
var limit = $y;
$('input.ggrid').on('change', function(evt)
{
if($('input[class='ggrid']:checked').length >= limit)
{
this.checked = false;
}
});
</script>
";
for($i=0;$i<$maxrows;$i++)
{
echo"
<script type='text/javascript'>
var limit = $maximum_per_row[$i] - $already_selected[$i];
$('input.row$i').on('change', function(evt)
{
if($('input[class='row$i']:checked').length >= limit)
{
this.checked = false;
}
});
</script>
";
for($a=0;$a<$maxcols;$a++)
{
echo"
<script type='text/javascript'>
var limit = 1;
$('input.col$a').on('change', function(evt)
{
if($('input[class='col$a']:checked').length >= limit)
{
this.checked = false;
}
});
</script>
";
}
}
for($i=0;$i<$maxrows;$i++)
{
$already_selected=0;
for($a=0;$a<$maxcols;$a++)
{
$value=$mat[$i][$a];
if($value>0)
{
echo"<input type='checkbox' class='col$a row$i ggrid'name='arr[$i][$a]' value='$uid'/>";
}
else
{
echo"<input type='hidden' name='arr[$i][$a]' value='$value'/>";
$already_selected+=1;
}
}
}
... は、事前にありがとうございます!
Javascript/jQueryですべての作業を完了する必要があります。 – Phil
私にとってより簡単に言われました...私はjqueryの新人ではありません...:P私は一見、ありがとう – TheKillerCH
こんにちは、私は1列あたり最大1は、目に見えるチェックボックス?さもなければ、これを満たすために隠された '$ already_selected'を制御することはできません。 – Phil