dpbz14739 2018-10-10 10:43
浏览 61

Laravel - PHP - 无法在单个视图中切换两个表单

I have a single view dashboard.blade.php.

It's having multiple forms. I have set the data attribute data-toggle='collapse in an <a> element.

This is working properly for a single form when using the keyboard arrow down method.

When click on that arrow again, the first form will hide from the view.

However, when I click on second <a>, whilst first form is already opened, both forms are displaying simultaneously.

I need to manage this to display one form at a time and hide another form by clicking on next form.

Below is my code (dashboard.blade.php).

First form:

<div class="panel">
    <div class="panel-heading" role="tab" id="headingTwo">
        <h4 class="panel-title">
            <a data-toggle="collapse"
               data-parent="#accordion3"
               href="#collapseTwo3"
               aria-expanded="false"
               aria-controls="collapseTwo3"
               data-expandable="false"><i class="material-icons pmd-sm pmd-accordion-icon-left">toys</i>Brands
                <i class="material-icons md-dark pmd-sm pmd-accordion-arrow">keyboard_arrow_down</i></a>
        </h4>
    </div>
    <div id="collapseTwo3" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
        <div class="panel-body">
            <form class="form-horizontal"
                  method="post"
                  enctype="multipart/form-data"
                  action="{{ url('importBrands') }}">

                {{ csrf_field() }}

                <div class="form-group files">
                    <label>Upload Your File</label>
                    <input type="file" name="import_file" />
                </div>
                <div align="right">
                    <!-- <button class="btn btn-primary">Export</button> -->
                    <button class="btn btn-primary">Import</button>
                </div>
            </form>
        </div>
    </div>
</div>

Second form:

<div class="panel">
    <div class="panel-heading" role="tab" id="headingThree">
        <h4 class="panel-title">
            <a data-toggle="collapse"
               data-parent="#accordion3"
               href="#collapseThree3"
               aria-expanded="false"
               aria-controls="collapseThree3"
               data-expandable="false"><i class="material-icons pmd-sm pmd-accordion-icon-left">category</i>Categories
                <i class="material-icons md-dark pmd-sm pmd-accordion-arrow">keyboard_arrow_down</i></a>
        </h4>
    </div>
    <div id="collapseThree3" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
        <div class="panel-body">
            <form class="form-horizontal"
                  method="post"
                  enctype="multipart/form-data"
                  action="{{ url('importCategories') }}">

                {{ csrf_field() }}

                <div class="form-group files">
                    <label>Upload Your File</label>
                    <input type="file" name="import_file" />
                </div>
                <div align="right">
                    <!-- <button class="btn btn-primary">Export</button> -->
                    <button class="btn btn-primary">Import</button>
                </div>
            </form>
        </div>
    </div>
</div>

material.js

var FloatingLabel = function ($$$1) {
    // constants >>>
    var DATA_KEY = 'md.floatinglabel';
    var EVENT_KEY = "." + DATA_KEY;
    var NAME = 'floatinglabel';
    var NO_CONFLICT = $$$1.fn[NAME];
    var ClassName = {
      IS_FOCUSED: 'is-focused',
      HAS_VALUE: 'has-value'
    };
    var Event = {
      CHANGE: "change" + EVENT_KEY,
      FOCUSIN: "focusin" + EVENT_KEY,
      FOCUSOUT: "focusout" + EVENT_KEY
    };
    var Selector = {
      DATA_PARENT: '.floating-label',
      DATA_TOGGLE: '.floating-label .custom-select, .floating-label .form-control' // <<< constants

    };

    var FloatingLabel =
    /*#__PURE__*/
    function () {
      function FloatingLabel(element) {
        this._element = element;
        this._parent = $$$1(element).closest(Selector.DATA_PARENT)[0];
      }

      var _proto = FloatingLabel.prototype;

      _proto.change = function change() {
        if ($$$1(this._element).val() || $$$1(this._element).is('select') && $$$1('option:first-child', $$$1(this._element)).html().replace(' ', '') !== '') {
          $$$1(this._parent).addClass(ClassName.HAS_VALUE);
        } else {
          $$$1(this._parent).removeClass(ClassName.HAS_VALUE);
        }
      };

      _proto.focusin = function focusin() {
        $$$1(this._parent).addClass(ClassName.IS_FOCUSED);
      };

      _proto.focusout = function focusout() {
        $$$1(this._parent).removeClass(ClassName.IS_FOCUSED);
      };

      FloatingLabel._jQueryInterface = function _jQueryInterface(event) {
        return this.each(function () {
          var _event = event ? event : 'change';

          var data = $$$1(this).data(DATA_KEY);

          if (!data) {
            data = new FloatingLabel(this);
            $$$1(this).data(DATA_KEY, data);
          }

          if (typeof _event === 'string') {
            if (typeof data[_event] === 'undefined') {
              throw new Error("No method named \"" + _event + "\"");
            }

            data[_event]();
          }
        });
      };

      return FloatingLabel;
    }();

    $$$1(document).on(Event.CHANGE + " " + Event.FOCUSIN + " " + Event.FOCUSOUT, Selector.DATA_TOGGLE, function (event) {
      FloatingLabel._jQueryInterface.call($$$1(this), event.type);
    });
    $$$1.fn[NAME] = FloatingLabel._jQueryInterface;
    $$$1.fn[NAME].Constructor = FloatingLabel;

    $$$1.fn[NAME].noConflict = function () {
      $$$1.fn[NAME] = NO_CONFLICT;
      return FloatingLabel._jQueryInterface;
    };

    return FloatingLabel;
  }($);
  • 写回答

1条回答 默认 最新

  • dongqing6755 2018-10-10 11:33
    关注

    I think, you forget the add the few lines in your code.( Adding Some Line in Your Code)

       <div class="panel-group" id="accordion3">
            paste your code here
       </div>
    

    Simple solution using Bootstraps framework.(Full Example)

     <div class="panel-group" id="accordion">
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse1">Collapsible Group 1</a>
        </h4>
      </div>
      <div id="collapse1" class="panel-collapse collapse in">
        <div class="panel-body"> First Form Html </div>
      </div>
    </div>
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse2">Collapsible Group 2</a>
        </h4>
      </div>
      <div id="collapse2" class="panel-collapse collapse">
         <div class="panel-body"> Second Form Html </div>
      </div>
    </div>
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse3">Collapsible Group 3</a>
        </h4>
      </div>
      <div id="collapse3" class="panel-collapse collapse">
          <div class="panel-body"> Third Form Html </div>
      </div>
    </div>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思