Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数TypeError,但仅在substring()字符串上_Javascript_Jquery - Fatal编程技术网

Javascript函数TypeError,但仅在substring()字符串上

Javascript函数TypeError,但仅在substring()字符串上,javascript,jquery,Javascript,Jquery,好吧,请原谅我的标题太长了。我的代码狙击手将在页面底部 我创建了一个javascript程序,可以将透视表的行和列更改为预定义值。最初我使用$(.Dropdown”).val(value.trigger(“change”)只要我没有使用javascript插入值,它就工作得很好 IE输入到页面上可以正常工作。但是,使用javascript将上面的行放在页面上是不正确的 当我查看控制台时,我发现这个错误:“TypeError:opts.aggregators[aggregator.val(…)]不

好吧,请原谅我的标题太长了。我的代码狙击手将在页面底部

我创建了一个javascript程序,可以将透视表的行和列更改为预定义值。最初我使用
$(.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'");