2015-09-22 15 views
0

我正在开发一个应用程序,该应用程序允许用户输入关于事物的数据。这件事可以是完整的或部分的,也可以是其他所有需要从该拐点输入更改的东西。我已经成功地构建了应用,一切完美的作品时,下面的JavaScript功能后用户调用点使得这种选择:在MVC/Kendo行为中增加JavaScript内联评论符

function selectedFullOrPartial() 
{ 
    var pullDown = $("#fullOrPartial"); 
    pullDown.data("kendoDropDownList").enable(false); 
    if (pullDown.val() == 1) 
    { 
     alert("You chose full"); 
    } 
    else 
    { 
     alert("You chose partial"); 
    } 
} 

然而,当我写的,而不是像这样的功能:

function selectedFullOrPartial() 
{ 
    var pullDown = $("#fullOrPartial"); 
    pullDown.data("kendoDropDownList").enable(false); 
    if (pullDown.val() == 1) 
    { 
     //They chose full 
     alert("You chose full"); 
    } 
    else 
    { 
     alert("You chose partial"); 
    } 
} 

这足以将周围环境的行为改变为选择全部/部分对话甚至从不出现的时间点(在其应该出现时使用空值作为其值)。快速查看控制台会发现错误“Uncaught SyntaxError:意外的输入结束”。

感兴趣的另一个注意事项:块注释工作得很好,无论它们存在于一行还是多行。

如何简单添加评论来破解任何类型的代码?我认为编译时他们总是被所有的东西忽略。除了将所有内嵌评论转换为阻止评论的明显解决方法外,我还有其他选择吗?

+2

在你的代码中是否有某种破碎的缩小器?这就是代码看起来像什么时候它实际上发布到浏览器? – Pointy

+2

^^^这。看看浏览器**中的代码是**,而不是你编辑的源代码。显然,某个工具在某个地方正在搞砸了。 –

+0

如果块注释是好的,缩小器会有很大的意义 – ShaneA

回答

0

事实证明,我的工作环境使我的整个JavaScript函数下凝结的一行代码(旁边围绕它自动生成了一堆东西)。由于该行并没有在我的内联评论之后结束,它实际上已经消除了更多的内容,这是导致错误行为的原因。

看来,只使用块注释的解决方法是继续这一方法。

0
Try this: 

var pullDown = $("#fullOrPartial"); 
    pullDown.data("kendoDropDownList").enable(false); 
    if (pullDown.data("kendoDropDownList").value() == 1) 
    { 
     //They chose full 
     alert("You chose full"); 
    } 
    else 
    { 
     alert("You chose partial"); 
    } 

changed val() to value(). 
+0

当包含内联注释时,将'val()'更改为'value()'会导致相同的行为,如果不包含内联注释,则会导致错误行为(下拉菜单禁用,但不会触发警报)。 – ScotN