SORU
24 HAZİRAN 2011, Cuma


Değiştiğinde olay yardım!JQuery Datepicker

Alan değiştirdiğinizde arama bir rutin çağırır bu JS kodu var.... sorun Datepicker giriş alanı güncellemeleri ne zaman ateş edeceği bir WordPress kullanmak bir olay bulamıyorum.

Nedense değiştirme olayı datepicker alanı güncellemeleri zaman değil. Takvim açılır bunu da kullanamam yani odak değiştirir. Herhangi bir fikir?

CEVAP
24 HAZİRAN 2011, Cuma


onSelect event - datepicker kullanabilirsiniz.

$(".date").datepicker({
  onSelect: function(dateText) {
    display("Selected date: "   dateText   "; input's current value: "   this.value);
  }
});

Örnek yaşamak:

jQuery(function($) {

  $(".date").datepicker({
    onSelect: function(dateText) {
      display("Selected date: "   dateText   "; input's current value: "   this.value);
    }
  }).on("change", function() {
    display("Got change event from field");
  });

  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }

});
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type='text' class='date'>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

Ne yazık ki, onSelect Eğer hala varsa bile bir tarih seçildiğinde, tetikler. Her zaman onSelect Eğer değişen bir şey varsa bile () yangınlar ve . bu datepicker tasarım kusur: ^em>yokdeğişikliği temel giriş herhangi bir yangın olayı. (Eğer örnek kod bakarsanız, değişiklik için dinliyoruz, ama yetiştirdiği değiller.) Muhtemelen bir şeyler (muhtemelen change her zamanki olay, ya da muhtemelen datepicker-belirli bir) değiştirmek girişini bir olay ateş gerekir.


Eğer isterseniz, tabii ki, input ateşe change olay yapabilirsiniz:

$(".date").datepicker({
  onSelect: function() {
    $(this).change();
  }
});

Herhangi bir WordPress kullanmak işleyicisi ile bağladım için input temel changeyangın olur. Ama tekrar söylüyorum, bunuher zamanyangınlar. Eğer gerçek bir değişim üzerine ateş etmek istiyorsanız, bir önceki değeri (data muhtemelen) kaydedin ve karşılaştırın.

Örnek yaşamak:

jQuery(function($) {

  $(".date").datepicker({
    onSelect: function(dateText) {
      display("Selected date: "   dateText   "; input's current value: "   this.value);
      $(this).change();
    }
  }).on("change", function() {
    display("Got change event from field");
  });

  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }

});
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type='text' class='date'>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008