gpt4 book ai didi

javascript - 获取Category过滤控件的类型

转载 作者:行者123 更新时间:2023-11-28 20:24:02 25 4
gpt4 key购买 nike

我有一个简单的 Google 可视化仪表板,其中包含以下代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>
Google Visualization API Sample
</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.1', {packages: ['controls']});
</script>
<script type="text/javascript">
function drawVisualization() {
// Prepare the data
var data = google.visualization.arrayToDataTable([
['Name', 'Gender', 'Age', 'Donuts eaten'],
['Michael' , 'Male', 12, 5],
['Elisa', 'Female', 20, 7],
['Robert', 'Male', 7, 3],
['John', 'Male', 54, 2],
['Jessica', 'Female', 22, 6],
['Aaron', 'Male', 3, 1],
['Margareth', 'Female', 42, 8],
['Miranda', 'Female', 33, 6]
]);

// Define a category picker control for the Gender column
var categoryPicker = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control1',
'options': {
'filterColumnLabel': 'Gender',
'ui': {
'labelStacking': 'vertical',
'allowTyping': false,
'allowMultiple': false
}
}
});

// Define a table
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'chart1',
'options': {
'width': '300px'
}
});

// Create a dashboard
new google.visualization.Dashboard(document.getElementById('dashboard')).
bind(categoryPicker,table).
// Draw the entire dashboard.
draw(data);
}

google.setOnLoadCallback(drawVisualization);
</script>
</head>
<body style="font-family: Arial;border: 0 none;">
<div id="dashboard">
<table>
<tr style='vertical-align: top'>
<td style='width: 300px; font-size: 0.9em;'>
<div id="control1"></div>
</td>
<td style='width: 600px'>
<div style="float: left;" id="chart1"></div>
</td>
</tr>
</table>
</div>
</body>
</html>

我想在我的 javascript 中使用 if 条件访问类别过滤器(假设我有 5 个类别过滤器相互绑定(bind))。也就是说,我想要类似的东西

function myfunction() {
var whereClauses = [];
if (categorypicker1.statechange) {
whereClauses.push("something1 = '" + categorypicker1.changedstate + "'")
}
if (categorypicker2.statechange) {
whereClauses.push("something2 = '" + categorypicker2.changedstate + "'")
}
whereClause = whereClauses.join(" AND ");

//do something...
}

但我无法获得正确的格式。那么使用 if 条件的正确格式是什么? ​

最佳答案

使 categoryPicker 对象在 drawVisualization 函数之外可访问,然后使用 getState().selectedValues 值:

var categoryPicker;
function drawVisualization() {
// etc.
categoryPicker = // etc...

// Register to hear state changes.
google.visualization.events.addListener(categoryPicker, 'statechange', foo);

// etc.
}

function foo() {
// Insert your if condition here.
}

关于javascript - 获取Category过滤控件的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17721749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com