jquery menü seçimi için Değiştiğinde kullanarak

3 Cevap php

My below code works fine and is used to populate a <select> item with dynamic <options> The problem is that say I end up with 3 <options> say: One / Two / Three and then I select the first <option> so that I can call jquery code to populate the next menu. One is already the <selected> item in the menu so it is not recognized as a onChange event.

Ben o zaman bir One Değiştiğinde aramak için iki seçmek gerekir.

Ben AçıkDeğiştirme yerine kullanmanız gereken bir şey var mı? Veya varsayılan değer olarak boş bir <option> öğe koymak gerekir? Bu nedenle her zaman bir değişiklik olacak mı?

//if the job menu is changed
$('#job').change (function () 
{

	$.get('ajax/employee_menu.php', { job: $('#job').val() },      
    function(data) 
	{
	  	//load the <options> into the element
		$("#employee").html( data );
	 	// show the menu once loaded
		$("#employee").css({ "display" : "inline" });
	 });
});

3 Cevap

Farklı tarayıcılar <select /> eleman etkinlikler için farklı destek sunuyoruz. Sen onclick olayını kullanabilirsiniz, ancak sadece Firefox'ta tam olarak desteklenir. Diğer tarayıcılar destek olmaz.

Sen onchange olay kullanarak ve varsayılan bir seçeneği sunan daha iyiyiz. Alternatif olarak, bu jquery.combobox eklentisi gibi, tamamen HTML tabanlı birleşik giriş kutusu için <select /> etiketini değiştirmek için jQuery kullanabilirsiniz. Bu amaçlar için daha iyi çalışabilir.

Drop-çıkışlar (ne yazık ki, son birkaç yıldır değil ve var) şimdiki zamanda standart olaylar için sürekli destek yakın bir şey yok.

Ben aslında ben geçen hafta üzerinde çalışan bir sayfada aynı sorunla karşı karşıya. Ben değiştiğinde işlevini ayrılmış ve ilk seçilen değerle hemen çağrılır olsun, böylece document.ready adlı.

$(function()
{
    ChangeFunction();
});

$('#job').change(ChangeFunction);

function ChangeFunction()
{
    $.get('ajax/employee_menu.php', { job: $('#job').val() },      
    function(data) 
    {
        //load the <options> into the element
        $("#employee").html( data );
        // show the menu once loaded
        $("#employee").css({ "display" : "inline" });
    });
}

Şunları yapabilirsiniz ikinci PHP ile seçmek önceden doldurmak, böylece sayfa, ikinci de seçmek için OPTION elemanları ile vermektedir. Ben zaten öyle yapardım.