Railsページに3層のカスケードドロップダウンがあり、国が変更され、州または州が変更され、次に都市が変更されます。
国、州のドロップダウンにそれぞれ変更イベントを追加して、機能を実行しました。しかし、私はまだ問題を抱えています:
最初に、2 番目と 3 番目の層のドロップダウン リストがなくなったときに、それらを保持する方法をリロードします。
第二に、編集時に、前回保存された値をロードする方法は?
前もって感謝します。
Railsページに3層のカスケードドロップダウンがあり、国が変更され、州または州が変更され、次に都市が変更されます。
国、州のドロップダウンにそれぞれ変更イベントを追加して、機能を実行しました。しかし、私はまだ問題を抱えています:
最初に、2 番目と 3 番目の層のドロップダウン リストがなくなったときに、それらを保持する方法をリロードします。
第二に、編集時に、前回保存された値をロードする方法は?
前もって感謝します。
私は少し遅れていることを知っていますが、同じ問題があり、Railscasts で解決策を見つけました。Ryan Bates による動的選択ボックス用の Railscast を使用した場合は、次の場所にあります。
http://railscasts.com/episodes/88-dynamic-select-menus-revised
コメントのユーザーの 1 人が、これを編集フォームで動作させるために更新されたコーヒー スクリプトを投稿しました。
jQuery ->
loaded_product = $('#product_category_id :selected').text()
categorys = $('#product_category_id').html()
$('#product_category_id').parent().hide()
if loaded_product.length != 0
brand = $('#product_brand_id :selected').text()
escaped_brand = brand.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1')
options = $(categorys).filter("optgroup[label=#{escaped_brand}]").html()
$('#product_category_id').html(options)
$('#product_category_id').parent().show()
console.log(categorys)
$('#product_brand_id').change ->
brand = $('#product_brand_id :selected').text()
escaped_brand = brand.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1')
options = $(categorys).filter("optgroup[label=#{escaped_brand}]").html()
console.log(options)
if options
$('#product_category_id').html(options)
$('#product_category_id').parent().show()
else
$('#product_category_id').empty()
$('#product_category_id').parent().hide()
多分あなたはまだそれを使うことができるか、他の誰かがこれが役に立つと思う.