Javascript函数TypeError,但仅在substring()字符串上
好吧,请原谅我的标题太长了。我的代码狙击手将在页面底部 我创建了一个javascript程序,可以将透视表的行和列更改为预定义值。最初我使用Javascript函数TypeError,但仅在substring()字符串上,javascript,jquery,Javascript,Jquery,好吧,请原谅我的标题太长了。我的代码狙击手将在页面底部 我创建了一个javascript程序,可以将透视表的行和列更改为预定义值。最初我使用$(.Dropdown”).val(value.trigger(“change”)只要我没有使用javascript插入值,它就工作得很好 IE输入到页面上可以正常工作。但是,使用javascript将上面的行放在页面上是不正确的 当我查看控制台时,我发现这个错误:“TypeError:opts.aggregators[aggregator.val(…)]不
$(.Dropdown”).val(value.trigger(“change”)代码>只要我没有使用javascript插入值,它就工作得很好
IE
输入到页面上可以正常工作。但是,使用javascript将上面的行放在页面上是不正确的
当我查看控制台时,我发现这个错误:“TypeError:opts.aggregators[aggregator.val(…)]不是一个函数”,我检查了我的类型(以防我的字符串剖析更改了类型),这不是问题所在。我已经检查了值,这也不是问题所在
以下是我正在使用的代码片段:
我将onclick附加到的元素:
<li id="one" class="Barchart">
<a href="#one">Barchart<span>5</span></a>
<ul id="bchart" class="sub-menu">
</ul>
</li>
在此处提供要测试的字符串:
function loadPresets() {
var presets = "\'count\', \'Bar Chart\', [\'ProfLastName\'], [\'Grade\']";
var sep = presets.indexOf(",");
var style = presets.substr(0, sep).trim();
presets = presets.substr(sep + 1, presets.length).trim();
sep = presets.indexOf(",");
var type = presets.substr(0, sep).trim();
presets = presets.substr(sep + 1, presets.length).trim();
sep = presets.indexOf("]");
var row = presets.substr(0, sep + 1);
presets = presets.substr(sep + 2, presets.length);
var col = presets.trim();
var link = '<li><a href=\"#\" id=\"b01\"><em>01</em>Teacher vs. Grade</a></li>';
$("#bchart").append(link);
$("#b01").click(function () {
presetFunction(style, type, row, col);
});
}
函数加载预设(){
变量预设值=“\'count\',\'Bar Chart\',[\'ProfLastName\'],[\'Grade\']”;
var sep=预设索引(“,”);
var style=presets.substr(0,sep.trim();
presets=presets.substr(sep+1,presets.length).trim();
sep=预设索引(“,”);
变量类型=预设.substr(0,sep).trim();
presets=presets.substr(sep+1,presets.length).trim();
sep=预设。索引为(“]”);
var row=预设。substr(0,sep+1);
预设=预设子序列(sep+2,预设长度);
var col=预设值.trim();
var link='';
$(“#bchart”)。附加(链接);
$(“#b01”)。单击(函数(){
预设功能(样式、类型、行、列);
});
}
任何帮助都将不胜感激。
CF问题在于变量中有单引号。摆脱他们
你的onclick看起来像这样
presetFunction( "'style'", "'type'", "'row'", "'col'");
为预设赋值,然后将其拆分为其他变量,这似乎是一种过于复杂的方法。我这样做只是为了测试函数。实际上,我正在使用php以这种格式提取字符串。我想我应该展示一下绳子的样子。
presetFunction( "'style'", "'type'", "'row'", "'col'");