簡體   English   中英

復選框二維數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM