开发者

How to conditionally run script based on option from select menu?

I have a list of states in an option menu. I'd like to run a bit of jquery only when either CA or NV are selected. Here is what I have:

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

Which I tried (unsuccessfully) to adapt to another bit of jquery like this:

<script type="text/javascript">
      $(document).ready(function() {
        $("#state").change(function() {
          if ($("#state opti开发者_如何学Goon[value='CA']").attr('selected')) {



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



          }
        });
      });
    </script>

Any idea what needs to be changed for this to work?


Use

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

jQuery val() will return the selected value from a select element.

Here's a working example: jsfiddle

EDIT: And here's one that clears the value too: jsfiddle

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


You could try:

      if ($("#state option[value='CA']:checked").length > 0) { ... }


Try this -

 <script type="text/javascript">
  $(document).ready(function() {
    $("#state").change(function() {
      if ($("#state").val()=='CA') {
          //do something
         }    
      });
  });
</script>


I ended up doing this, slight edit of Town's code (to account for t states and have a non blank default value:

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜