0
私は、パイプラインをマップするために地図上に表示する演算子のリストを作成しました。私はリストからチェックされていないすべてのパイプラインだけを隠すことができるようにしたい。したがって、1つのオペレータがチェックされている場合、1つのオペレータがマップ上にパイプラインを表示するだけです。今はselectAllのためにすべてを隠していますが、私はいくつかのオプションを試しましたが、何も動かないようです。それらをすべて隠すか、または隠すかのいずれかです。
JS:リストから選択したものを除いて、svgのすべての要素を非表示にする必要があります。javascript
if($("#pipeExclusion").val() == 1){
map.svg.selectAll(".pipe").style("visibility", "hidden");
} else if($("#pipeExclusion").val() == 0){
map.svg.selectAll(".pipe").style("visibility", "visible");
}
ここで私は私がしている事業者のためのクラスのステータスを確認する場合は、トップに& &を追加しようとしたすべてのパイプライン
if(map.filters.showPipes){
map.svg.selectAll(".pipe")
.data(topojson.feature(pipeData, pipeData.objects.ngpipes).features).enter().append("path")
.attr("class", function(d){return "pipe test p" + pipeOperators.indexOf(d.properties.name);})
.attr("d", map.svgPath); //map.svgPath
}
for(i=0;i<pipeOperators.length;i++){
if(map.filters.showPipes == 1){
$("#pipeOperatorsList").append("<li><input type='checkbox' class='pipeOperator' value=p" + pipeOperators.indexOf(pipeOperators[i]) + "> " + pipeOperators[i] + "</li>");
}
}
に引く場所ですリストにはありますが、私はそれを隠すことはないので、うまくいきません。任意のヒント?ここで
事業者のリストがありますを作成する必要がありましたか?私はhtmlを見ることができますか? (*ヒント:* [隠す/表示するクラスを指定するためのクラスを追加しないでください] –
@JefréN。私は自分の質問を編集し、演算子をどのように引き出すのかを追加しました。それらはすべて同じクラス名を持っていますが、マップ上では各パイプラインにp0、p1、p2などの独自のクラス名があります。あるオペレータがチェックされているかどうかを確認し、チェックされているパイプライン以外のすべてのパイプラインを非表示にする方法はわかりません。 – lostInTheTetons
ありがとうございます。オペレーターがデフォルトにチェックされることは決してないと思いますか? –