有一個奇怪的問題,我希望人們可以擺脫一些像。 當我使用jQuery Mobile MVC 4項目中的複選框和單選按鈕創建表單時,如果使用Razor語法根據視圖模型吐出控件,例如@ Html.RadioButtonFor等,而不是隻寫標準輸入類型=「收音機」,jQuery Mobile不會將樣式應用於元素。包括屏幕截圖和代碼差異。這是否與控件呈現的方式有關?在視圖和部分視圖中都會發生。Razor語法導致jQuery Mobile表單元素丟失樣式
我改變了第一組單選按鈕來證明這一點。如果我將整個表單更改爲Razor HTML助手,我會在所有控件中獲得相同的結果。
非剃刀: 剃刀:
非剃刀代碼:
<fieldset data-role="controlgroup" data-type="vertical" class="recurrencyArea">
<legend></legend>
<input type="radio" data-theme="b" name="Period" id="Daily" value="Daily" checked="checked" />
<label for="Daily">Daily</label>
<input type="radio" data-theme="b" name="Period" id="Weekly" value="Weekly" />
<label for="Weekly">Weekly</label>
<input type="radio" data-theme="b" name="Period" id="Monthly" value="Monthly" />
<label for="Monthly">Monthly</label>
</fieldset>
剃刀代碼:
<fieldset data-role="controlgroup" data-type="vertical" class="recurrencyArea">
<legend></legend>
@Html.LabelFor(x=>x.Period, "Daily")
@Html.RadioButtonFor(x => x.Period, "Daily", new { data_theme = "b", @Checked = "checked", id = "Daily" })
@Html.LabelFor(x=>x.Period, "Weekly")
@Html.RadioButtonFor(x => x.Period, "Weekly", new { data_theme = "b", @Checked = "checked", id = "Weekly" })
@Html.LabelFor(x=>x.Period, "Monthly")
@Html.RadioButtonFor(x => x.Period, "Monthly", new { data_theme = "b", @Checked = "checked", id = "Monthly" })
</fieldset>
是jQuery的後產生的剃刀HTML移動腳本已經在頁面上運行了?
任何有任何有幫助的想法/或任何人誰可以發現任何愚蠢的錯誤將是一個英雄!
非常感謝, 基督教
我看到的唯一區別是您在Checked屬性上使用了大寫字母C.但這可能沒有任何區別。在任何腳本運行之前總是生成html。 – David
你爲什麼要檢查他們三個?也許這不適用於jQuery移動? – David
大衛,你發現這個錯誤是正確的,只是壞的複製和粘貼,但不幸的是這不是問題。 – Christian