由于附加到switch语句的额外字符,jquery失败

时间:2013-06-11 15:24:11

标签: javascript jquery

我的html页面中有以下代码:

$("#rulecondition").change(function () {
    var txt = $(this).val();
    alert(txt);
    switch (txt)
    {
        case 'Always use this rule': 
            $('#callerid_condition_container').hide();
            $('#time_condition_container').hide();
            break;
        case 'Depends on who is calling':
            $('#callerid_condition_container').fadein();
            $('#time_condition_container').hide();
            break;
        case 'Depends on the time of day': 
            $('#time_condition_container').fadein();
            break;
        default:
    }
});​

当我加载页面时,我收到一条脚本错误,上面写着:

SCRIPT5009: '​' is undefined 
testpage, line 262 character 6

以下是渲染代码的样子:

$("#rulecondition").change(function () {
    var txt = $(this).val();
    alert(txt);
    switch (txt)
    {
        case 'Always use this rule': 
            $('#callerid_condition_container').hide();
            $('#time_condition_container').hide();
            break;
        case 'Depends on who is calling':
            $('#callerid_condition_container').fadein();
            $('#time_condition_container').hide();
            break;
        case 'Depends on the time of day': 
            $('#time_condition_container').fadein();
            break;
        default:
    }
});â

正如你所看到的,在我的jquery方法的结束括号之后有一些时髦的字符。 我不确定它是如何创建的或如何摆脱它! 我的另一个问题是为什么alert语句只显示每个选项中的第一个单词?因此,例如,如果用户选择“始终使用此规则”,则警报将显示“始终”。

2 个答案:

答案 0 :(得分:1)

你有2个问题

  1. 奇怪的角色:
  2. 在记事本++等编辑器中打开文件并将其设置为显示“所有字符”(空格和全部),然后在结束括号后删除那些“不可见”字符。

    另外,检查您是否使用UTF-8并将其放在没有BOM的UTF-8中。 (编辑:使用“转换”而不是“编码”)

    1. 仅使用“始终”的值
    2. https://stackoverflow.com/a/4901138/460368所示,选项的值属性不能是任何值。我想你不应该在里面使用空间。

答案 1 :(得分:0)

你能否给出rulecondition的内容。

你的时髦角色首先想到的是一个ms字符。你有没有复制和粘贴任何东西? - 尝试从头开始重写。