2

我正在编写一个小的 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

4 回答 4

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':
于 2013-05-03T09:47:38.283 回答
0

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

于 2013-05-03T09:50:01.300 回答
0

尝试

switch($('#linktype').val()) {
        case 'facebook':
          // do something
            break;
        case 'twitter':
          // do something
            break;
    }
于 2013-05-03T09:50:15.987 回答
0

尝试这个:

$('#linktype').change(function(){
var thisType = $('#linktype').val();
   switch(thisType){
   case 'facebook':
于 2013-05-03T09:53:01.463 回答