У меня есть форма, в которой пользователь вводит 6-значный номер и нажимает кнопку поиска. Выполняется Ajax-вызов, который возвращает другую форму данных (без обновления страницы). В возвращаемых данных находится цепочка выбора (более одного, если возвращается более одного элемента). Ниже приведен код AJAX.
$(".platform").live("change", function() {
alert('Updating models...');
var firstOption = $(this);
if (firstOption.closest('tr').find('.platform').val() == '')
{
firstOption.closest('tr').find('.model').html('<option value=""></option>');
}
else
{
firstOption.closest('tr').find('.model').html('<option value="">Updating...</option>');
$.getJSON("dataCalls/getModels.cfm",{platform: $(this).val()},
function(j){
var options = '';
for (var i = 0; i < j.length; i++)
{
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
firstOption.closest('tr').find('.model').html(options).effect("highlight", {}, 3000);
});
}
});
Это прекрасно работает в FF, но не в IE7. Я не тестировал в IE 8. Стандарты нашей компании все еще 7, хотя мы переходим на 8, поэтому он должен работать в 7.
Вот код, который должен вызывать вызов ajax.
<th class="form"><label>Platform / Model</label></th>
<td> <select class="platform required" name="platform">
<option ></option>
<cfloop query="rsPlatform">
<option value="#rsPlatform.optionValue#" <cfif rsRequestSystems.platform eq rsPlatform.optionValue>selected</cfif>>#rsPlatform.optionValue# - #rsPlatform.optionDesc#</option>
</cfloop>
</select>
/
<select class="model required" name="model">
<option selected></option>
<cfloop query="rsModels">
<option value="#rsModels.optionValue#" <cfif rsRequestSystems.model eq rsModels.optionValue>selected</cfif>>#rsModels.optionDesc#</option>
</cfloop></select></td>