Этот фрагмент кода не выполняет блок кода внутри функции обратного вызова для результата ():
var cityURL = '/myURL/path';
$('#city').autocomplete(cityURL, {
cachelength:0
}).result(function(event, data){
if(data){
$('#city_id').val(data[1]);
$('#state_id').val(data[3]);
$('#state').val(data[2]);
}
});
значение input # city_id и input # state_id не изменяется, но значение #state изменяется. Оба скрытых ввода находятся рядом с их полем:
<input type="text" id="city" name="city"/>
<input type="hidden" id="city_id" name="city_id" />
<input type="text" id="state" name="state"/>
<input type="hidden" id="state_id" name="state_id" />
однако, если я поставлю предупреждение, значения изменятся:
$('#city').autocomplete(cityURL, {
cachelength:0
}).result(function(event, data){
if(data){
alert(data[1]);
$('input#city_id').attr('value',data[1]);
$('input#state_id').val(data[3]);
$('input#state').val(data[2]);
}
});
почему это?
РЕДАКТИРОВАТЬ : поцарапать это, значения не меняются даже с предупреждением: