2014-01-18 33 views
0

我有這段代碼和HTML觸發單選按鈕 它的工作,並沒有任何問題,「但是,應該有一個名稱屬性」 當我刪除名稱roperty是不工作 是什麼原因?由於產權名稱的必要性?

<input type="radio" name="e" /> 
<input type="radio" name="e" /> 
<input type="radio" name="e" /> 

$(document).ready(function() { 
      $('input[type=radio]').change(function (event) { 
       //I've used classes based on values, which works as long as 
       //the values are consistent and don't contain spaces! 
       console.log(this); 
       $.filter(this).prop('checked', this.checked); 
      }); 
    }); 
+2

你到底在這裏做 –

+0

一點也沒有」看起來這個名字與javascript有什麼關係,所以我想你說的是表單提交的時間,是的,那麼元素sh應該有名字,但不是全部相同的名字?然而腳本中的評論根本沒有意義? – adeneo

+0

單選按鈕應該具有相同的名稱,因爲這就是它如何確定哪些屬於同一組。 – Barmar

回答

3

單選按鈕必須具有name屬性。該名稱用於確定哪些按鈕是同一組的一部分,以便單擊其中一個按鈕可取消選中前一個按鈕。這個分組是單選按鈕和複選框之間的區別。

+0

非常感謝 – user3182190

0

name屬性對於被認爲是同一組的一部分的所有單選按鈕都是相同的。

1

定義單選按鈕組的名稱屬性與name屬性

只有表單元素將提交一個表單時,通過它們的值。

單選按鈕的全部用途是使用戶能夠從列表中選擇一個選項(僅限一個)。如果您希望用戶進行多項選擇,則不會使用單選按鈕 - 您會使用複選框。

無論如何,因爲用戶只能從我們的單選按鈕組中選擇一個,所以該組中的所有單選按鈕都需要共享相同的名稱。這就是我們將列表分組在一起的方式 - 它們都具有相同的名稱。這會告訴表單處理程序組的名稱以及所選單選按鈕的值。

參考

http://www.quackit.com/html/codes/html_radio_button.cfm

0

你可以這樣做沒有名字,但是這不是一個正確的方式,

$(document).ready(function() { 
    $('input[type=radio]').change(function(event) { 
     console.log(this); 
     $(this).prop('checked', true); 
     $('input[type=radio]').not(this).prop('checked', false); 
    }); 
}); 

FIDDLE

相關問題