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 체크 박스 - 각 열의 최대 에 대한 하나 개의 체크 박스를 row (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 열의 각 열에 보이는 체크 박스? 그렇지 않으면 숨겨진'$ already_selected'를 제어 할 수 없습니다. – Phil