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

好吧,对我来说,用“in plain 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 to Coffee 转换器,它工作得很好。

http://js2coffee.org/

于 2012-08-09T21:04:15.153 回答