3

Railsページに3層のカスケードドロップダウンがあり、国が変更され、州または州が変更され、次に都市が変更されます。

国、州のドロップダウンにそれぞれ変更イベントを追加して、機能を実行しました。しかし、私はまだ問題を抱えています:

最初に、2 番目と 3 番目の層のドロップダウン リストがなくなったときに、それらを保持する方法をリロードします。

第二に、編集時に、前回保存された値をロードする方法は?

前もって感謝します。

4

1 に答える 1

1

私は少し遅れていることを知っていますが、同じ問題があり、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()

多分あなたはまだそれを使うことができるか、他の誰かがこれが役に立つと思う.

于 2013-10-31T07:53:39.653 に答える