[英]checkbox 2d array
我的處境非常棘手。 我有一個技能列表,每個技能的級別為1,2,3,除每個技能名稱外,還以復選框表示。 這些技能已從數據庫中撤出。 沒有技能水平,通常的事情是將復選框的值分配為技能的ID(該ID進入復選框數組)。 有什么方法可以將值存儲在二維數組中,以便我可以訪問所檢查的技能以及所檢查的技能水平? 我還需要通過Javascript進行驗證,以使用戶選擇的所有技能的最高技能水平不超過5。
這是我編寫的代碼,但無法通過Javascript檢索檢查的值:
$sql = "select * from Skill where Active=1";
$res = mysql_query($sql);
$count=0;
echo '<tr>';
while ($rr=mysql_fetch_assoc($res))
{
echo '<td>';
echo "<input type=\"checkbox\" name=\"skill[][".$rr['SkillID']."]\" value=\"1\" /><span></span></input>";
echo "<input type=\"checkbox\" name=\"skill[][".$rr['SkillID']."]\" value=\"2\" /><span></span></input>";
echo "<input type=\"checkbox\" name=\"skill[][".$rr['SkillID']."]\" value=\"3\" /><span>".$rr['Name']."</span></input>";
echo '</td>';
$count++;
if ($count % 3 == 0)
{
echo '</tr><tr>';
}
}
任何幫助將非常感激。
謝謝!
代替
<input ... name=\"skill[][".$rr['SkillID']."\" ... />
嘗試
<input ... name=\"skill[]\" id=\"skill_".$rr['SkillID']."\" value=\"1" ... />
然后,要確定檢查的總技能水平,可以使用jQuery:
<script language="javascript">
$("input[name=skill[]]").click(function() {
var total = 0;
$("input[name=skill[]]:checked").each(function() {
total += $(this).val();
});
if (total > 5) {
alert("Skill level too high.");
}
});
</script>
這個怎么樣:
<input name="skill[SKILL_ID][1]" value=1>
<input name="skill[SKILL_ID][2]" value=1>
<input name="skill[SKILL_ID][3]" value=1>
.
.
.
<input name="skill[NEXT_SKILL_ID][1]" value=1>
<input name="skill[NEXT_SKILL_ID][2]" value=1>
<input name="skill[NEXT_SKILL_ID][3]" value=1>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.