在g上调用此函数会在我尝试追加输入的行(标记为// HERE)上生成“无法读取属性'indexOf'未定义”错误。尝试我可能无法找到未定义的地方。我该如何解决这个问题?
注意:它应该创建带有标签和存储函数的复选框。
这是一个带有一点驱动程序代码的jsfiddle。 http://jsfiddle.net/hevans1/huxe8ros/13/
编辑:对不起,我刚发现一个无关的错误。更新了代码。function CheckBoxFilter() {
var labels = [];
var functions = [];
var updateData;
function chart(selection) {
selection.each(function() {
var g = d3.select(this).append("g");
var checkboxes = g.selectAll("input")
.data(labels)
.enter()
.append() // HERE
.attr("class", "checkbox")
.attr("type", "checkbox")
.property("checked", true)
.text(function(d) {
return " " + d.name;
});
updateData = function() {
var update = checkboxes.data(data);
update.exit()
.remove();
update.enter()
.append("input")
.merge(update)
.attr("class", "checkbox")
.attr("type", "checkbox")
.text(function(d) {
return " " + d.name;
});
};
});
}
chart.data = function(value) {
if (!arguments.length) return labels;
labels = [];
functions = [];
var len = value.length;
for (var i=0; i<len; i++) {
labels.push(value[i].name);
functions.push(value[i].func);
}
if (typeof updateData == "function") updateData();
return chart;
};
return chart;
};
示例数据。
var age = [{
name: "0-5",
func: function(datum, checked) {
return datum.age == "0-5" && checked == true;
}
}, {
name: "6-10",
func: function(datum, checked) {
return datum.age == "6-10" && checked == true;
}
}, {
name: "11-15",
func: function(datum, checked) {
return datum.age == "11-15" && checked == true;
}
}, {
name: "16-20",
func: function(datum, checked) {
return datum.age == "16-20" && checked == true;
}
}, {
name: "21-25",
func: function(datum, checked) {
return datum.age == "21-25" && checked == true;
}
}, {
name: "26-30",
func: function(datum, checked) {
return datum.age == "26-30" && checked == true;
}
}, {
name: "30+",
func: function(datum, checked) {
return datum.age == "31+" && checked == true;
}
}, ];
驱动程序代码
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<script>
var svg = d3.select("body").append("svg");
var age_filter = CheckBoxFilter().data(age);
svg.call(age_filter);
</script>
</body>
</html>
答案 0 :(得分:0)
let getToken = function() {
return $('meta[name=csrf-token]').attr('content')
}
function approveLogin(url){
let data = { '_token': getToken() }
$.ajax({
'url': url,
'method': 'POST',
'data': data,
}).done(function(response) {
//window.location.reload()
})
}
需要CSS选择器作为参数。在这种情况下,必须告诉它添加输入: public function approve($user_id)
{
$user = User::find($user_id);
$user->update(['loginapproval'=>'1']);
return "ok";
}
。