2011-04-15 59 views
1

我有一個選項菜單中的狀態列表。我只想在選擇CA或NV時運行一下jQuery。這裏是我有:jquery - 根據選擇菜單中的選項有條件地運行腳本

$('#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> 

任何想法,需要爲這種改變工作?

回答

1

使用

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

jQuery val()將從select元件返回選定的值。

這裏有一個工作示例:jsfiddle

編輯:這裏還有一個清除值,太:jsfiddle

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

謝謝鎮先生! – Paul 2011-04-15 09:48:14

+0

現在有一個問題,如果用戶選擇CA然後返回並選擇另一個狀態,則該值保持爲CA.我需要添加什麼才能使其他值重置? – Paul 2011-04-15 18:02:51

+0

@Paul:什麼仍然是CA的價值?文本框? – Town 2011-04-15 18:09:01

1

你可以嘗試:

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

試試這個 -

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

我落得這樣做,鎮的代碼編輯輕微(考慮到對於T狀態,並有一個非空默認值:

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

相關問題