AJAX JS DOM HTML option kiválasztás megtartása

AJAX JS DOM HTML option kiválasztás megtartása
2012-11-03T15:01:30+01:00
2012-11-04T13:42:01+01:00
2022-11-27T07:30:37+01:00
idioma
Sziasztok,

A problémám a következő:

Kliens oldalról szeretnék kiválasztani az URL alapján minden egyes megfelelő option-t. Az URL egy AJAX kérés után frissül. A cél az, hogy az AJAX-os form megfelelően legyen kitöltve az URL alapján.
Szinte készen is vagyok vele csak FF-ban nem működik jól.

Itt olvastam egy olyan hozzászólást, hogy a DOM változtatása nem elég, a HTML-be kellene belenyúlni. ( You will need to modify the HTML itself rather than rely on DOM properties. ) Ez kicsit zavaros.

ITT, ha kiválasztjuk az országot, frissül az URL, majd frissítjük az egész weboldalt akkor FF-on, és Opera-n kívül E8-ban, és Chrome-ban működik.

Firefox-ban a DOM-ban látszik hogy a selected tulajdonság a megfelelő helyre került.

Itt készítem elő a paramétereket:
function ajaxChangeUri() { var form = $('#ajax-form select option:selected'); var param=""; form.each(function(index){ if( $(this).text() != undefined && $(this).text() != null && $(this).text() ) { if( $(this).parent().is('select') ) param += $(this).parent().attr('id')+'|'+$(this).text()+'||'; else if( $(this).parent().parent().is('select') ) param += $(this).parent().parent().attr('id')+'|'+$(this).text()+'||'; } }); param = param.substring(0, param.lastIndexOf('||')); window.location.hash = param; }

Itt olvasom ki és használom:
function ajaxFormLoad() { var obj; var JSON = window.location.hash; JSON = JSON.substring(1); if( JSON ) { JSON = '{"'+JSON+'"}'; while( JSON.indexOf('||') != -1 ) JSON = JSON.replace('||','", "'); while( JSON.indexOf('|') != -1 ) JSON = JSON.replace('|','":"'); alert(JSON); if( JSON != undefined && JSON != null && JSON ) obj = eval ("(" + JSON + ")"); $.each(obj,function(key,value){ options = $('#ajax-form #'+key+' option'); options.each( function(index){ $(this).removeAttr('selected'); }); options.each( function(index){ if( $(this).text()==value ) { alert( $(this).text()+"=="+value ); $(this).attr('selected','selected'); $('#ajax-form #'+key).attr('value',$(this).text()); } }); }); } }
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd