jQuery中的switch语句不起作用

时间:2013-05-03 09:46:29

标签: jquery switch-statement

我正在编写一个小jQuery函数,当用户更改下拉列表的值时,该函数会更改表单字段的值。

我更改数据的功能有效但由于某种原因它不是“切换”。任何人都能解释一下吗?

以下是代码:

$('#linktype').change(function(){
var thisType = $('#linktype').val();
switch(thisType){
    case 'facebook': 
    changeURL("http://facebook.com/");
    break;
    case 'twitter':
    changeURL("http://twitter.com/");
    break;
}
});
function changeURL(value){
$('input[id="link"]').val(value) ;  
};

4 个答案:

答案 0 :(得分:2)

facebook应该是'facebook'

之类的字符串文字
$('#linktype').change(function(){
var thisType = $('#linktype').val();
   switch(thisType){
   case 'facebook':

否则,您需要一个名为facebook的变量,其字符串值为

var facebook = 'facebook'
$('#linktype').change(function(){
var thisType = $('#linktype').val();
   switch(thisType){
   case 'facebook':

答案 1 :(得分:0)

switch语句中的case说明符不应该是变量,它们必须是文字字符串或实际值。在你的情况下,我希望你只是错过了facebook周围的报价。

答案 2 :(得分:0)

switch($('#linktype').val()) {
        case 'facebook':
          // do something
            break;
        case 'twitter':
          // do something
            break;
    }

答案 3 :(得分:0)

试试这个:

$('#linktype').change(function(){
var thisType = $('#linktype').val();
   switch(thisType){
   case 'facebook':