Laravel 5如何显示,通过下拉选择隐藏div

时间:2018-09-25 02:23:57

标签: javascript html css laravel eloquent

  

问题是如何使用下拉的onclick函数显示和隐藏div。

     

Blockquote问题2是如何通过该样式的编号获取getElementById(“”);

这是我的CSS,我不想全部显示div

<style>
#\1a{ display:none; }      // to 32...//
</style>

这是我的JS

<script>
  function show(showid){
    document.getElementById("1").style.display="none";
    document.getElementById("2").style.display="none";
    document.getElementById("3").style.display="none";
  }
</script>

这是我的下拉列表

<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" >
      Bla bla bla
  </button>
<ul id="test" name="form_select" class="dropdown-menu">
@foreach ($topics as $topic)
    <li><a href="#" onclick="show('')" style="font-size: 11px; padding:0px; line-height: 15px;">{{ $topic->title }}</a></li>
@endforeach
</ul>
</div>

这是我的div

@foreach($collections as $collection)
<div id="{{ $collection->id }}">
    <div class="panel panel-default">
        <table border="1" style="width:100%">
            <tbody>
                <tr>
                    <td><h4>Асуулт {{ $i++ }}.</h4><strong>{!! nl2br($question->question_text) !!}</strong></td>
                </tr>
                <tr>
                    <td><input type="hidden" class="form-control" name="questions[{{ $question->id }}]" value="{{ $question->id }}"></td>
                </tr>
                    @foreach($question->options as $option)
                <tr>
                    <td><label class="radio-inline"><input type="radio" name="answers[{{ $question->id }}]" value="{{ $option->id }}">{{ $option->option }}</label>
                </td>
                </tr>
                    @endforeach
               </tbody>
        </table>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

下拉菜单:

<div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true">
        Bla bla bla
    </button>
    <ul id="test" name="form_select" class="dropdown-menu">
        @foreach ($topics as $topic)
            <li><a href="#" onclick="show({{ $loop->index }})" style="font-size: 11px; padding:0px; line-height: 15px;">{{ $topic->title }}</a></li>
        @endforeach
    </ul>
</div>

我们使用$loop->index作为增量值。它们必须等于$collection->id

DIV:

@foreach($collections as $collection)
    <div id="{{ $collection->id }}" class="topic hidden">
        <div class="panel panel-default">
            ...
        </div>
    </div>
@endforeach

我添加了类topic来标识所有divs(使用您想要的任何内容),并使用hidden类将它们全部隐藏。无需自定义CSS

JavaScript:

function show(id) {
    $('.topic').addClass('hidden');
    $('#' + id).removeClass('hidden');
}

第一行将类hidden添加到所有divs中以将其隐藏。第二个删除针对特定hidden的{​​{1}}类。
我使用div是因为您正在将该库用于jQuery

  

这全部假设Bootstrap$loop->index具有相同的值。如果没有,您可以尝试将$collection->id替换为$collection->id