2

人々が好きなものを流してくれることを望んでいる奇妙な問題を抱えています。jQuery Mobile MVC 4プロジェクトでチェックボックスとラジオボタンを使用してフォームを作成しているときに、Razor構文を使用して、標準の入力タイプを記述する代わりに、ビューモデル(@ Html.RadioButtonForなど)に従ってコントロールを吐き出す場合= "radio"、jQueryMobileはスタイルを要素に適用しません。スクリーンショットとコードの違いが含まれています。これは、コントロールのレンダリング方法と関係がありますか?ビューと部分ビューの両方で発生します。

ここでは、要点を示すために最初のラジオボタンのセットだけを変更しました。フォーム全体をRazorHTMLヘルパーに変更すると、すべてのコントロールで同じようになります。

非かみそり: 非かみそり かみそり: かみそり

非かみそりコード:

<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が生成されていますか?

役立つアイデアを持っている人、または実際に愚かな間違いを見つけることができる人は誰でもヒーローになります!

どうもありがとう、クリスチャン

4

1 に答える 1

2

私はjquerymobileにあまり精通していませんが、ここで確認できる問題は、htmlコードのラベルが次のようになっていることです。

<label for="Daily">Daily</label>

一方、かみそりのコードは次のようなラベルを出力します。

<label for="Period">Daily</label>

「for」属性は、かみそりコードのsceanrioに対して間違っています。おそらく、jquery mobileはそれに敏感ですか?

于 2012-10-11T10:20:28.917 に答える