Как выбрать опцию из выпадающего списка и выполнить обмен Jquery - PullRequest
0 голосов
/ 29 апреля 2011

Я, вероятно, делаю это наихудшим способом, но я пытаюсь: а) выбрать опцию выпадающего меню, основанную на полученных данных от плагина социальной сети, и б) вызвать событие onchange, чтобы отобразить и заполнить последующие выпадающие меню.

Я работаю с данными по стране, штату и городу. После загрузки страницы в раскрывающемся списке страны автоматически указываются два параметра: Мексика и США. Когда выбран один из них, автоматически заполняется раскрывающийся список состояний, а после выбора состояния - выпадающий список городов.

вот разметка:

<tr>
<td id="field-country" class="tags-form"></td>
   <td><select onchange="CreateCountries.getRegions(this.value);"
name="country_id" id="country_id" value="" style="width: 130px;"
class="campos-tabla"></select></td>
</tr>
<tr>
   <td id="field-state" class="tags-form"></td>
   <td><select onchange="CreateCountries.getCities(this.value);"
name="state_id" id="state_id" value="" style="width: 130px;"
class="campos-tabla"></select></td>
</tr>
<tr>
   <td id="field-city" class="tags-form"></td>
   <td><select name='city_id' id="city_id" value=""class="campos-tabla"
style="width: 130px;"></select></td>
</tr>

и вот моя попытка: а) выбрать опцию раскрывающегося списка на основе полученных данных и б) активировать событие onchange, чтобы появилось следующее выпадающее меню, а затем продолжить мой следующий выбор:

_fillFields: function(){
 logingygia.fields.firstname.val(logingygia.firstname);
 logingygia.fields.lastname.val(logingygia.lastname);
 logingygia.fields.email.val(logingygia.email);
  if (logingygia.gender == 'm') {
    $('#genderM').attr('checked',true);
        }
        else {
            $('#genderF').attr('checked',true);
        };
 logingygia.fields.birthmonth.val(d2(logingygia.birthmonth));
 logingygia.fields.birthday.val(d2(logingygia.birthday));
 logingygia.fields.birthyear.val(logingygia.birthyear)
if (logingygia.country == 'United States') {
        $('#country_id').val(212);
            }
            else {
                $('#country_id').val(143);
            };
            if $('#country_id option: selected ').length){

                if ($('#country_id option:selected').length)
                    $('#country_id').val("state_id).change();
                                }else{
                                  return ("");
            };
            }
};

if (logingygia.country сам по себе выберет страну правильно. К сожалению, когда я объединяю это с «if country_id: option», ни одна страна не выбирается, и в раскрывающемся списке состояний отображается только «Selecciona», но не заполняться никакими вариантами ... что имеет смысл, поскольку страна не была выбрана.

Я уверен, что код - это беспорядок, поэтому я был бы очень признателен за лучшие советы.

1 Ответ

1 голос
/ 30 апреля 2011

Вам не хватает круглых скобок на один if, и я не уверен, что вы можете оставить пробел после:.Кроме того, вам не хватает цитаты.И у вас тоже самое, если дважды.

if ($('#country_id option:selected').length){
   $('#country_id').val('state_id').change();
}else{
   return ("");
};

Исправьте синтаксис и посмотрите, исправит ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...