2011-08-18 53 views
2

我目前有一個表單可以說5個單選按鈕條目(見下文)。 即時封存的內容如下: - 能夠選擇多個單選按鈕 - 可以說3並提交表單。選擇多個單選按鈕(通過jQuery,javasscript?)

目前我用PHP,SQL正常工作,但我只能夠選擇一個單選按鈕並提交。

我想它也會派上用場,如果你錯誤地點擊了一個,就能夠取消選擇一個單選按鈕。

我的猜測是,這可以通過一些JavaScript來完成?有什麼建議麼?在線示例可能嗎?

<form id="pollform" action="poll.php" method="post"> 
<input id="option-1" type="radio" value="1" name="poll"> 
<label for="option-1">Select option 1</label> 

<input id="option-2" type="radio" value="2" name="poll"> 
<label for="option-2">Select option 2</label> 

<input id="option-3" type="radio" value="3" name="poll"> 
<label for="option-3">Select option 3</label> 

<input id="option-4" type="radio" value="4" name="poll"> 
<label for="option-4">Select option 4</label> 

<input id="option-5" type="radio" value="5" name="poll"> 
<label for="option-5">Select option 5</label> 
</form> 
+0

爲什麼不使用複選框? – Mat

+0

爲什麼不使用複選框組呢?這就是爲什麼有不同情況下的複選框和單選按鈕。 – Hallaghan

+0

好吧,猜我可以看到,我需要使用複選框:)但是,我想我仍然需要使用一些JavaScript來實際計算,用戶已經檢查了3盒,並試圖選擇複選框4號將不可能? – user1231561

回答

3

由於它具有poll你將不能夠做到這一點作爲輸入型radio是專業選擇從多個輸入一個值相同的名稱。

可以使用輸入類型checkbox爲,使它們作爲數組:

<form id="pollform" action="poll.php" method="post"> 
    <input id="option-1" type="checkbox" value="1" name="poll[]"> 
    <label for="option-1">Select option 1</label> 

    <input id="option-2" type="checkbox" value="2" name="poll[]"> 
    <label for="option-2">Select option 2</label> 

    <input id="option-3" type="checkbox" value="3" name="poll[]"> 
    <label for="option-3">Select option 3</label> 

    <input id="option-4" type="checkbox" value="4" name="poll[]"> 
    <label for="option-4">Select option 4</label> 

    <input id="option-5" type="checkbox" value="5" name="poll[]"> 
    <label for="option-5">Select option 5</label> 
</form> 

LIMIT(與jQuery)的數量:

$("input[type=checkbox][name=poll[]]").click(function() { 
    var numberSel = $("input[type=checkbox][name=poll[]]:checked").length >= 3;  
    $("input[type=checkbox][name=poll[]]").not(":checked").attr("disabled",numberSel); 
}); 
+0

Alrighty我認爲這是非常簡單的 - 但只是爲了設置它在什麼我想要做的單選按鈕的情況下 - 這是用戶需要選擇3複選框,並不應該能夠選擇比這更多 - 關於這樣的任何建議一種方法? – user1231561

+0

謝謝Mihai - 我設法讓你的指導工作。 – user1231561

+0

我剛纔想到的另一件事 - 我可以使用相同的基本方法來禁用提交按鈕,然後在3個複選框被選中時啓用它嗎? – user1231561

5

單選按鈕被設計成使得從每個組(由它們共享名指定)只有一個選擇可以一次選擇(就像你只能調諧無線電把一個站)。

允許選擇任意數量的選項的輸入控件是複選框。如果您將[]添加到它們的名稱中,則所選選項將作爲數組到達PHP端。

<input type="checkbox" value="1" name="poll[]" /> 
<input type="checkbox" value="2" name="poll[]" /> 
0

單選按鈕被設計爲僅1項至被選中,改爲使用複選框。

+2

這不是OP的答案,而是澄清。如果你沒有回答他的問題,請在OP的問題下作出澄清。 – Hallaghan