jquery - условно запустить скрипт на основе опции из меню выбора - PullRequest
1 голос
/ 15 апреля 2011

У меня есть список состояний в меню параметров.Я хотел бы запустить немного jquery, только когда выбраны CA или NV.Вот что у меня есть:

$('#state').change(function(){  var text=$('#state :selected').val();  
$('.st').val(text);      
});

Что я пытался (безуспешно) адаптировать к другому фрагменту jquery, как это:

<script type="text/javascript">
      $(document).ready(function() {
        $("#state").change(function() {
          if ($("#state option[value='CA']").attr('selected')) {



$('#state').change(function(){  var text=$('#state :selected').val();  
$('.st').val(text);      
});



          }
        });
      });
    </script>

Любая идея, что нужно изменить, чтобы этоработать?

Ответы [ 4 ]

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

Я закончил тем, что сделал небольшое редактирование кода города (чтобы учесть t состояний и иметь непустое значение по умолчанию:

<script type="text/javascript"> $(function() { $("#state").change(function() { var state = $(this).val(); $(".st").val((state == "CA" || state == "NV") ? state : "auto"); }) }); </script>

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

Вы можете попробовать:

      if ($("#state option[value='CA']:checked").length > 0) { ... }
1 голос
/ 15 апреля 2011

Попробуйте это -

 <script type="text/javascript">
  $(document).ready(function() {
    $("#state").change(function() {
      if ($("#state").val()=='CA') {
          //do something
         }    
      });
  });
</script>
1 голос
/ 15 апреля 2011

Используйте

if ($("#state").val() == "CA")

jQuery val() вернет выбранное значение из элемента select.

Вот рабочий пример: jsfiddle

РЕДАКТИРОВАТЬ: И вот тот, который очищает значение тоже: jsfiddle

$(function() {
    $("#state").change(function() {
        var state = $(this).val();
        $(".st").val((state  == "CA") ? state : "");
    })
});
...