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