0

私は次のコードを持っています。少し操作したいと思いますが、プレーンな JavaScript で行う方が慣れていると感じます。

jQuery ->
  states = $('#person_state_id').html()
  console.log(states)
  $('#person_country_id').change ->
    country = $('#person_country_id :selected').text()
    options = $(states).filter("optgroup[label=#{country}]").html()
    console.log(options)
    if options
      $('#person_state_id').html(options)
    else
      $('#person_state_id').empty()

ありがとう!

4

3 に答える 3

4

さて、私にとって、「プレーンなJavaScript」という言葉で記述されたコードは、次のようになります。

var states = document.getElementById('person_state_id').cloneNode(true);
document.getElementById('person_country_id').onchange = function() {
    var country = this.value;
    var childs = states.childNodes;
    for (var i in childs) {
        if (childs[i].label == country) {
            var options = childs[i].innerHTML;
            document.getElementById('person_state_id').innerHTML = options ? options : "";
        }
    }
};​

ここで例を確認してください:http://jsfiddle.net/LmWqA/

于 2012-04-28T00:18:00.530 に答える
2
jQuery(function() {
  var states;
  states = $('#person_state_id').html();
  console.log(states);
  return $('#person_country_id').change(function() {
    var country, options;
    country = $('#person_country_id :selected').text();
    options = $(states).filter("optgroup[label=" + country + "]").html();
    console.log(options);
    if (options) {
      return $('#person_state_id').html(options);
    } else {
      return $('#person_state_id').empty();
    }
  });
});
于 2012-04-28T00:06:39.197 に答える
0

これは私がよく使う便利なJSからCoffeeへのコンバーターで、うまく機能します。

http://js2coffee.org/

于 2012-08-09T21:04:15.153 に答える