PHP を使用してデータベースから動的に取り込まれる 2 つのドロップダウン リストがあります。これらには、指定された列のすべての値が含まれます。たとえば、1 つには parameterType のすべての値が含まれ、もう 1 つは dateTimeTaken のすべての値が含まれます。
データがフィルタリングされ、これらのオプションの一部が適用できなくなった場合に、これらのオプションのいずれかを無効にする方法はありますか?達成される?
アップデート:
私のデータは次の形式です:
[{"dateTimeTaken":"2013-01-01 14:05:14",
"reading":"0.90000",
"parameterType":"Flouride",
"inspectionPoint_id":"2"}....
次のコードを使用してこれを実行しようとしましたが、何もしていませんか??
d3.json("HistoricData.php", function(error,data)
{
var filtered_data = data.filter(function(d) { return d.inspectionPoint_id == i;})
filtered_data.forEach(function(d) {
d.dateTimeTaken = parseDate(d.dateTimeTaken);
d.reading = +d.reading;
d.parameterType = d.parameterType;
d.inspectionPoint_id = +d.inspectionPoint_id;
});
var check = d3.select("selectparameter")//select dropdown list
check.selectAll("option").each(checkOption);//select all options
//for any of the options that don't match the parameterType's
//from the filtered dataset set display to none
var checkOption = function (d, e) {
if(e !== d.values(d.parameterType)){
return d3.select(this).attr("display", "none");
}
};
更新 2
d3.select("#selectparameter")
.append("select")
.selectAll("option")
.data(filtered_data)
.enter().append("option")
.text(function(d) { return d.parameterType; })