0

やあみんな、デフォルトでセンサーを非表示にして、特定のノードをクリックすると表示されるようにしたい..ページのリロードでも同じになるはずです。これが私のコードです

<ul >
<?php if(isset($nodes)): ?>
<?php $count = 0; ?>
<?php foreach($nodes as $node) { ?>
<?php $node_id=$node['node_id']; ?>
<?php $sensors = config_sensor_model::getsensors($node_id); ?>
<?php $count++; ?>
<li onclick="menu(<?php echo $count; ?>)"><a href="#"><?php echo $node['node_name']; ?> </a></li>
<ul id="<?php echo "sub_".$count; ?>">
<?php foreach($sensors as $sensorlog) { ?> 
<li><a href="<?php echo site_url(); ?>/dashboard/dashboard_graph/?node=<?php echo $node['node_id']; ?>&sensor=<?php echo $sensorlog->sensor_index; ?>&range=0&xticker=2&plot_graphs_value=1">&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $sensorlog->sensor_name; ?></a></li>
<?php } ?>
</ul>           
<?php } ?>
<?php endif; ?>
</ul>
</div>

これは私が現在使用しているjavascriptです

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script> 
function menu(count)
{
 $("#sub_"+count).toggle("fast");
}
</script>
4

2 に答える 2

0

私のコメントで述べたように、最初は次のように CSS を使用してノードを非表示にします。

<style type="text/css">
    .hidden { display: none; }
</style>

<ul>
if(isset($nodes)):
    $count = 0;
    foreach($nodes as $node) {
        $node_id = $node['node_id'];
        $sensors = config_sensor_model::getsensors($node_id);
        $count++;
        ?>
        <li onclick="menu(<?php echo $count; ?>)"><a href="#"><?php echo $node['node_name']; ?> </a></li>
        <ul id="<?php echo "sub_".$count; ?>" class="hidden">
            <?php foreach($sensors as $sensorlog) { ?>
                <li><a href="<?php echo site_url(); ?>/dashboard/dashboard_graph/?node=<?php echo $node['node_id']; ?>&sensor=<?php echo $sensorlog->sensor_index; ?>&range=0&xticker=2&plot_graphs_value=1">&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $sensorlog->sensor_name; ?></a></li>
            <?php } ?>
        </ul>           
    <?php }
endif; ?>
</ul>
</div>

メニューをクリックdisplayすると、Javascript によって値がトグルされます。

于 2013-08-23T09:51:43.170 に答える
0

style='display:none'の設定<ul>

于 2013-08-23T09:48:47.057 に答える