2016-07-05 120 views
0

我遇到了關閉選擇框的問題。網站上有 有兩個選擇元素。關閉選擇框外部點擊

第一個工作:打開並在外部點擊時關閉該框。 現在我有第二個框旁邊。這隻在您點擊選擇器或切換時關閉。我也想在外面點擊時關閉它。

這是代碼已經存在:

_closeSelectbox: function (target) { 
     var inst = this._getInst(target); 
     //if (!inst || !this._state[inst.uid]) { 
     if (!inst || !inst.isOpen) { 
      return; 
     } 
     var onClose = this._get(inst, 'onClose'); 
     inst.settings.effect === "fade" ? $("#catOptions_" + inst.uid).fadeOut(inst.settings.speed) : $("#catOptions_" + inst.uid).slideUp(inst.settings.speed); 
     $("#catToggle_" + inst.uid).removeClass(inst.settings.classToggleOpen); 
     this._state[inst.uid] = FALSE; 
     inst.isOpen = FALSE; 
     if (onClose) { 
      onClose.apply((inst.input ? inst.input[0] : null), [inst]); 
     } 
     $.data(target, PROP_NAME, inst); 
     }, 

這是可能的,而不會干擾的方式,其他盒子的功能呢?

這是HTML:

 <div class="col-sm-8 col-xs-12"> 
     <form class="form-inline form-header" action="<?php echo $this- >url(null, 'listings-search'); ?>" 
       method="get"> 
      <div class="form-group hidden-xs hidden-sm"> 
       <select name="parent_id" id="category_id"> 
        <option value="0"><?php echo $this->_('Choose Category'); ?></option> 
        <?php foreach ($categories as $category) { ?> 
         <option 
          value="<?php echo $category['id']; ?>" <?php echo ($category['id'] == $request->getParam('parent_id')) ? 'selected' : ''; ?>><?php echo $this->_($category['name']); ?></option> 
        <?php } ?> 
       </select> 
      </div> 
      <div class="form-group"> 
       <input id="basic-search" type="text" name="keywords" class="form-control input-search" 
         value="<?php echo $this->request()->getRequest()->getParam('keywords'); ?>" 
         placeholder="<?php echo $this->_('Search ...'); ?>" required> 
      </div> 
      <button type="submit" class="btn btn-primary hidden-xs"><?php echo $this->_('Search'); ?></button> 
     </form> 
     </div> 
+0

你的HTML在哪裏? – Adjit

+0

編輯我的帖子... – Stefanl

回答