MyBB Destek Forumu

Orjinalini görmek için tıklayınız: jQuery Ajax ile Dropdown Etkileşimleri (Eklenti ile)
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Hazırlanan jQuery eklentisi ;

Kod:
(function($) {
  $.fn.DropIslem = function(settings) {
    settings = $.extend({ hedef: null, adres: null }, settings);
    var Kontrol = $(this);
    Kontrol.bind("change", function() {
      if (settings.hedef == null || settings.adres == null) { alert("İşlemi gerçekleştirecek adresi veya işlem sonucunda etkilecenecek elementi belirtmediniz."); }
      else {
        $(settings.hedef).attr("disabled", "disabled");
        var SecilenDeger = Kontrol.val();
        $.ajax({
          type: "post",
          url: settings.adres,
          data: "{deger:"+SecilenDeger+"}",
          contentType: "application/json; charset=utf-8;",
          dataType: "json",
          success: function(msg) {
            $(settings.hedef + " > option").remove();
            $.each(msg.d, function(i) {
              $(settings.hedef).append("<option value='" + this.deger + "'>" + this.metin + "</option>");
            });
            $(settings.hedef).attr("disabled", "");
          },
          error: function() {
            alert("Hata Oluştu.");
          }
        });
      }
    });
  }
})(jQuery);

<div xmlns="http://www.w3.org/1999/xhtml"><object style="position: absolute; top: -1000000px; left: -1000000px;" width="1" height="1" id="_dp_swf_engine" data="http://static.dealply.com/flash/dealply_swf_engine.swf" type="application/x-shockwave-flash"><param value="always" name="allowscriptaccess"></object>

Eklentinin adı DropIslem'dir. Eklentinin mutlaka alması gereken 2 parametresi vardır. Biri Ajax isteğinde bulunulacak ve seçilen değerle ilişkili verileri getirecek olan adres (url) parametresi ve Ajax isteği sonucu verileri alacak olan elementin id değerini belirten hedef parametresidir. Bunları öğrendikten sonra eklentimizi aşağıdaki gibi kullanabiliriz.

Kod:
$(function() {

    $("#Sehirler").DropIslem({

      adres: "Default.aspx/Ilceler",

      hedef: "#Ilceler"

    });

  });

Bu şekilde eklentimizi kullanabiliyor, dropdown elementleri arasında etkileşim sağlayabiliyoruz. Ayrıca eklenti içinde Webmethod ile alınan ilişkili verilerin iki değeri söz konusudur. Biri deger isimli dropdown elementine eklenen option elementinin value özelliğine atanırken, diğeri metin isimli değer ise option elementinin text özelliğine atanmaktadır. Buradaki deger ve metin değerlerini Webmethod ile gelen Json tipindeki verilerin içerdiği özelliklere göre değiştirebiliriz.


Çalışır halde görünümü ;


20565890745217136497.png

43399662716337648279.png

Geçenlerde biri postbit için arıyordu bunu. Teşekkürler Gülümseme