Javascript阻止其他Javascript工作

Javascript阻止其他Javascript工作,javascript,jquery,Javascript,Jquery,我对javascript比较陌生。下面的代码阻止其他javascript()在我的应用程序中运行。如果我删除下面的代码,莫里斯图表将正确渲染。下面的代码符合我的要求,但它阻止了图表的显示。我正在用Rails编程。你知道我可能做错了什么以及如何修复吗 $(document).ready(function(){ var str = $("#rule_rule_type").val().toLowerCase(); if (str=="complex") { $("#id_ttl").hide

我对javascript比较陌生。下面的代码阻止其他javascript()在我的应用程序中运行。如果我删除下面的代码,莫里斯图表将正确渲染。下面的代码符合我的要求,但它阻止了图表的显示。我正在用Rails编程。你知道我可能做错了什么以及如何修复吗

$(document).ready(function(){
var str = $("#rule_rule_type").val().toLowerCase();
if (str=="complex") {
    $("#id_ttl").hide();
    $("#id_condition_2").show();
    $("#id_value_2").show();
}
else if (str=="correlation") {
    $("#id_ttl").show();
    $("#id_condition_2").show();
    $("#id_value_2").show();
}
else if (str=="simple") {
    $("#id_ttl").hide();
    $("#id_condition_2").hide();
    $("#id_value_2").hide();
}

$("#rule_log_type").change(function () {
    logtype = $("#rule_log_type :selected").text();
        switch (logtype)
        {
            case "Syslog":
                $("#rule_severity")
                    .find('option')
                    .remove()
                    .end()
                    .append('<option value="Emergency">Emergency</option>')
                    .append('<option value="Alert">Alert</option>')
                    .append('<option value="Critical">Critical</option>')
                    .append('<option value="Error">Error</option>')
                    .append('<option value="Warning">Warning</option>')
                    .append('<option value="Notice">Notice</option>')
                    .append('<option value="Information">Information</option>')
                    .append('<option value="Debug">Debug</option>');
                $("#rule_condition_1")
                    .find('option')
                    .remove()
                    .end()
                    .append('<option value="Severity">Severity</option>');
                $("#id_condition_2").hide();
                $("#id_value_2").hide();
                break;
            case "Microsoft Windows":
                $("#rule_severity")
                    .find('option')
                    .remove()
                    .end()
                    .append('<option value="Critical">Critical</option>')
                    .append('<option value="Warning">Warning</option>')
                    .append('<option value="Information">Information</option>');
                $("#rule_condition_1")
                    .find('option')
                    .remove()
                    .end()
                    .append('<option value="Event ID">Event ID</option>')
                    .append('<option value="Instance ID">Instance ID</option>');
                $("#id_condition_2").show();
                $("#id_value_2").show();
                break;
        }
});

$("#rule_rule_type").change(function () {
    ruletype = $("#rule_rule_type :selected").text();
        switch (ruletype)
        {
            case "Complex":
                $("#id_ttl").hide();
                $("#id_condition_2").show();
                $("#id_value_2").show();
                break;
            case "Correlation":
                $("#id_ttl").show();
                $("#id_condition_2").show();
                $("#id_value_2").show();
                break;
            case "Simple":
                $("#id_ttl").hide();
                $("#id_condition_2").hide();
                $("#id_value_2").hide();
                break;
        }
});
$(文档).ready(函数(){
var str=$(“#rule_rule_type”).val().toLowerCase();
如果(str==“复杂”){
$(“#id_ttl”).hide();
$(“#id#u条件_2”).show();
$(“#id#u value_2”).show();
}
否则如果(str==“相关性”){
$(“#id_ttl”).show();
$(“#id#u条件_2”).show();
$(“#id#u value_2”).show();
}
else if(str==“简单”){
$(“#id_ttl”).hide();
$(“#id#u条件_2”).hide();
$(“#id#u value_2”).hide();
}
$(“#规则_日志_类型”)。更改(函数(){
logtype=$(“#规则_日志_类型:选定”).text();
开关(对数型)
{
案例“Syslog”:
$(“#规则_严重性”)
.find('选项')
.删除()
(完)
.append('Emergency')
.append('警报')
.append('关键')
.append('错误')
.append('警告')
.append('通知')
.append('信息')
.append('Debug');
$(“#规则#条件#1”)
.find('选项')
.删除()
(完)
.append(“严重性”);
$(“#id#u条件_2”).hide();
$(“#id#u value_2”).hide();
打破
案例“Microsoft Windows”:
$(“#规则_严重性”)
.find('选项')
.删除()
(完)
.append('关键')
.append('警告')
.附加(“信息”);
$(“#规则#条件#1”)
.find('选项')
.删除()
(完)
.append('事件ID')
.append('Instance ID');
$(“#id#u条件_2”).show();
$(“#id#u value_2”).show();
打破
}
});
$(“#规则_规则_类型”)。更改(函数(){
规则类型=$(“#规则_规则_类型:选定”).text();
开关(规则类型)
{
案件“复杂”:
$(“#id_ttl”).hide();
$(“#id#u条件_2”).show();
$(“#id#u value_2”).show();
打破
案例“相关性”:
$(“#id_ttl”).show();
$(“#id#u条件_2”).show();
$(“#id#u value_2”).show();
打破
案例“简单”:
$(“#id_ttl”).hide();
$(“#id#u条件_2”).hide();
$(“#id#u value_2”).hide();
打破
}
});

}))

我认为这只是代码导致了一个错误

尝试定义
logtype
ruletype

替换:

var str = $("#rule_rule_type").val().toLowerCase();
与:

很可能,
$(“#规则_规则_类型”)
不在DOM中


首先,验证您正在尝试以正确的
id
属性为目标,并且没有拼写错误。然后,确保使用正确的方法对jQuery对象进行操作
val()
将返回HTML输入的当前值
html()
将从打开-关闭html标记中检索html。

检查控制台是否有错误。。。如果有人把它贴在这里..我浏览器中的控制台会说“TypeError:“undefined”不是对象(计算“$”(“#rule_rule_type”).val().toLowerCase')。如果你准确地复制了错误,那么你在
toLowerCase
之后就丢失了()know@Michael-Szyndel,你误读了错误片段。对象是括号中的内容。结束括号开始于单词evaluation之前,结束于toLowerCase之后。;-)
var str = $("#rule_rule_type").val().toLowerCase(), 
    logtype, ruletype;