Jquery getJSON заполняет избранный вопрос о меню

http://eamann.com/tech/wordpress-password-hashing/

Чтобы предотвратить нарушение обратной совместимости, MD5-хэшированные пароли, хранящиеся в базе данных, все еще действительны , Когда пользователь входит в систему с таким паролем, WordPress обнаруживает, что MD5 использовался, перефразирует пароль, используя более безопасный метод, и сохраняет новый хэш в базе данных.

Это означает, что для ручного сброса пароля в Wordpress DB, достаточно простого хеша MD5.

21
задан Scott 1 October 2009 в 08:34
поделиться

5 ответов

Использование метода @ RaYell .... вот что сработало для меня:

$.getJSON('months.php', function(data){
    var html = '';
    var len = data.length;
    for (var i = 0; i < len; i++) {html += '<option value="' + data[i].monthId + '">' +    data[i].month + '</option>';
    }
    $('select.month').append(html);
});

Спасибо всем за вашу помощь !!

2
ответ дан 29 November 2019 в 06:27
поделиться
$.getJSON('selectMenus.php', function(data){
    var html = '';
    var len = data.length;
    for (var i = 0; i< len; i++) {
        html += '<option value="' + data[i].monthId + '">' + data[i].month + '</option>';
    }
    $('select.month').append(html);
});

Хранение HTML-кода в переменной и добавление его только один раз в конце очень важно, если вы заботитесь о производительности своего приложения.

48
ответ дан RaYell 29 November 2019 в 06:27
поделиться

Из великой книги jQuery в действии , вот способ сделать то, что вы хотите, написав пользовательскую команду jQuery:

(function($) {
  $.fn.emptySelect = function() {
    return this.each(function(){
      if (this.tagName=='SELECT') this.options.length = 0;
    });
  }

  $.fn.loadSelect = function(optionsDataArray) {
    return this.emptySelect().each(function(){
      if (this.tagName=='SELECT') {
        var selectElement = this;
        $.each(optionsDataArray,function(index,optionData){
          var option = new Option(optionData.caption,
                                  optionData.value);
          if ($.browser.msie) {
            selectElement.add(option);
          }
          else {
            selectElement.add(option,null);
          }
        });
      }
    });
  }
})(jQuery);    

А затем:

$.getJSON('selectMenus.php', 
   function(data){
      $("select.month").loadSelect(data);
   }
);
3
ответ дан Santiago Cepas 29 November 2019 в 06:27
поделиться

Вы можете использовать петлю for.

for (var i = 0, len = data.length; i < len; i++)
    $("select.month")
         .append("<option value=" + data[i].monthID + ">" + data[i].month + "</option>");

Если вы хотите добиться максимальной производительности, вы должны уменьшить операции DOM до минимума, например:

var html = [];

for (var i = 0, len = data.length; i < len; i++) {
    html[html.length] = "<option value=";
    html[html.length] = data[i].monthID;
    html[html.length] = ">";
    html[html.length] = data[i].month;
    html[html.length] = "</option>";
}

$("select.month").append(html.join(''));
0
ответ дан Alex Gyoshev 29 November 2019 в 06:27
поделиться

Это должно работать:

   $.getJSON('selectMenus.php', function(data){
        $.each(data, function(index,item) {
           $("select.month").append("<option value=" + item.monthID + ">" + item.month + "</option>"); 
    });
    });
15
ответ дан 29 November 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: