簡體   English   中英

Html.CheckBox呈現兩個復選框

[英]Html.CheckBox renders two checkboxes

當我嘗試在jquery中序列化<%: Html.CheckBox("Something", true) %>時(使用form.serialize())我得到兩個復選框,一個表示true,另一個表示false。 我知道MVC呈現true,false表示復選框是真的,所以如果我沒有通過javascript,我只是檢查是否存在true,但是我怎么知道在執行表單后是否檢查了我的復選框。連載?

如果你看一下輸出HTML - 你會看到Html.Checkbox()實際上在那里呈現了一個具有相同名稱的額外隱藏輸入。 這就是你看到兩個價值觀的原因。 我相信MS決定這樣做,以便正確的bool獲得POST(而不是復選框的'on'字符串值)。

為了解決這個問題,我再也不使用Html.Checkbox()幫助器,我總是自己編寫完整的HTML。

為什么不簡單:

var isChecked = $('#idofyourcheckbox').is(':checked');

對於存儲在form.serialize()字符串中的值,它們注定要轉到服務器,您只需使用布爾屬性即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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