2012-03-29 23 views
11

jQuery UI Selectmenu kullanıyorum ve seçilen bir işin değerini ayarlayarak sorun yaşıyorum. Seçilen seçimdeki seçilen seçeneği değiştirir gibi görünüyor, ancak selectmenu değişikliği göstermiyor. Ben .selectmenu ('yenileme', doğru) arıyorum ama hiçbir şey olmuyor. http://jsfiddle.net/sociobit/wYBeL/jQuery UI Seçme değeri dinamik olarak seçili görünen değeri değiştirmez

+0

Neden emin değilim ama selectmenu çıkarmadan() çağrısı bu giderir: http : //jsfiddle.net/Brpcu/2/. – jimw

+0

@jimw Seçmenler olmadıkça şimdi sadece genel açılan listeler, ben – SocioBit

+0

stil için seçiciye ihtiyacım var, ama umarım bu neyin yanlış olduğuna yardımcı olacaktır. Selectmenu çağrısı ne yapar? Aramadan önce ve sonra DOM'ı incelerseniz, hangi değişiklikler değişir? – jimw

cevap

13

Selam Yani demo (Çözüm) yerine yenileme http://jsfiddle.net/wYBeL/43/.selectmenu("value", selectedValue); denemek OR (Hack) http://jsfiddle.net/wYBeL/36/ (senin selectpopup ayarını tutar :) Ne olursa size

uygun: Burada

bir örnektir Bu yüzden DOM'ı firebug kullanarak kontrol ettim ve selectmenu() stili gibi görünüyor: pop-up stilin ekstra katmanını ekler ama # sel2 değeri doğru şekilde ayarlanmış ve sadece doğru değeri doğru değere ayarlamanız gerekiyor. Ben bir yenileme ve sayfa bölümünü ferahlatıcı bir ajax olacak zaman yenileme çalışacaktır.

Hmm, daha fazla bilgi için API'ya bakmayı deneyebilirsiniz ve eğer seçmene gerek duymuyorsanız, o zaman bu pencere açılmayacaktır: (BUt styling tuhaftır): http://jsfiddle.net/wYBeL/35/; Bu yardımcı olmazsa, mesajı kaldıracağım.

ekstra bağlantı: Her iki yardımcı http://wiki.jqueryui.com/w/page/12138056/Selectmenu

Umut. Burada

JQuery Kod

$(function() { 

    $('select').selectmenu({ 
     style: 'popup' 
    }); 

    $('#chksame').click(function() { 
     if ($(this).is(':checked')) { 
      var selectedValue = $('#sel1').val(); 
      $('#sel2').val(selectedValue); 

      $('#sel2').selectmenu("value", selectedValue); 

     } 

    }); 
});​ 

** VEYA **

$(function() { 

     $('select').selectmenu({ 
      style: 'popup' 
     }); 

     $('#chksame').click(function() { 
      if ($(this).is(':checked')) { 
       var selectedValue = $('#sel1').val(); 
       $('#sel2').val(selectedValue); 

       // set the right element with the select value 
       $('#sel2-button span').text($("#sel2 option[value='" + selectedValue +"']").text()); 

       $('#sel2').selectmenu('refresh', true); 

      } 

     }); 
    });​ 

Alkış

+0

Çok teşekkür ederim, top notch! Sorunumu çözdüm. – SocioBit

+0

Endişeye gerek yok! Sevindim sevindim :), şerefe! –

+4

'Değer' yöntemiyle ilk yaklaşım, JqueryMobile 1.1'de artık çalışmıyor. "Hata: selectmenu widget örneği için böyle bir yöntem 'value' yok" – Wytze