4 に答える
私は長い間この問題に悩まされてきました DOM に同じ select 要素があると思います...そして私は $('.SelectCSS:last').val() を使用しました うまくいきました。
私は中国出身で、英語が苦手です...
これは将来のためのものだと思います.MVCとjQuery Mobileは今のところ完全に融合していないようです. おそらく、この問題に対する MS の対応は、Single Page Applications です。
SPAはダニアルも満足させてくれる?
取り除く:$(function () {
そしてそれを次のように置き換えます:$(document).delegate('[data-role="page"]', 'pageinit', function () {
このページの上部にある大きな黄色のセクションをお読みください: http://jquerymobile.com/demos/1.1.0/docs/api/events.html
document.ready
ページごとに 1 回だけ発生するその他のイベントに依存することはできません。代わりに、jQuery Mobile のカスタム ページ イベントの使用に慣れる必要がありますpageinit
。そのため、ページがいつ DOM に追加されてもコードが機能します (jQuery Mobile Web サイトでこれがいつ発生するかはわかりません)。たくさんのイベントがあるので、もう一度、上記のリンク先のドキュメントを読んでください。
まず、サーバー側のテンプレート エンジンを使用して動的に生成された html が失敗します。人々がそれにどのような価値を見出しているのか、私には本当にわかりません。
私の推測では、AJAX が一般的になる前の 10 年前には理にかなっていて、それが「正しい方法」であると人々が感じているため、それ以来ずっとそこに固執していると思います。そうではありません。特にモバイル Web アプリの場合。
次に、非常に単純な検索をしようとしているようです。この MVC4 のガベージはすべて、実際に何が起こっているのかを理解することを困難にします。このような単純なフォーム送信では、URL にパラメーターを追加する必要はありません。実際、TownId は送信時に POST データの一部になっているはずなので、URL 変更ビットを削除するだけで済みます。
または、フォーム送信を使用せず、GET と AJAX のみを使用します。あなたのアプリがここで何をしているのかわかりませんが、どうにかして動的に結果をページに表示したいので、GET で十分です。
開発者ブラウザー ツール (F12) を使用して、送信時に何が送信されているかを正確に確認してください。これは非常に役立ちます。次のプロジェクトでは、MVC4 を放棄してください。「確立されたデザインパターン」私の足。