2013-05-03 28 views
2

我正在写一个小的jQuery函数,当用户更改下拉列表的值时,该函数会更改表单字段的值。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) ; 
}; 
+0

添加完整代码.. – 2013-05-03 09:49:27

+1

.VAL()返回一个字符串。所以你的案例也应该是字符串......就像'脸谱' – Jeroen1984 2013-05-03 09:49:36

+0

没有这段代码抛出任何错误? – 2013-05-03 09:49:58

回答

2

facebook应该是文字像'facebook'

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

否则,你需要有一个与字符串值

var facebook = 'facebook' 
$('#linktype').change(function(){ 
var thisType = $('#linktype').val(); 
    switch(thisType){ 
    case 'facebook': 
0
称为 facebook变量的字符串

case说明符中as女巫声明不应该是变量,他们需要是文字字符串或实际值。在你的情况下,我希望你只是错过了Facebook的报价。

0

尝试

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

试试这个:

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