div上的动作 - 如何停止1选?

时间:2013-02-18 18:28:49

标签: jquery drop-down-menu blockui

我在div上设置了一个jQuery BlockUI调用,其中包含“action”按钮。 Onclick,这个灰色的页面是为了防止双击等。 我们引入了一个新选项,它有一个选择框/ go按钮组合。

问题是,选择框更改会导致它进入等待屏幕,然后才能点击提交按钮。

我怎样才能将blockui定位为不选择?不幸的是,select name =“”区域是动态的,并且会随着它从cms构建而不断变化,因此我无法使用select [name =]目标。如有必要,我可以给它上课。 “其他”目前是我所拥有的。如果选择点击,我需要构建if top部分,什么也不做。

$('.actionbuttons').click(function() {
    if($SELECT?)
       alert('select');
    }
else{
       $.blockUI({ message: '<h1>thinking...</h1>' });
    }
}); 

HTML:

<div class="actionbuttons">
  <input type="submit" name="a" value="Save" onclick="return verify(this.form);">
  <input type="submit" name="b" value="Close" onclick="return verify(this.form);">
  <select name="c" size="1" onchange="changeit();">
      <option selected="selected">Default</option>
      <!-- dont do anything when clicking here -->
  </select>
  <input type="submit" name="d" value="Change C" onclick="return verify(this.form);">
</div>

并且不,仅仅为了记录,由于规范,onchange +提交1次移动是不可接受的。所以按钮需要在d上提交c。请记住,这些名称alphas是动态的,并且会在每个页面加载时发生变化,因此无法用于定位。

1 个答案:

答案 0 :(得分:0)

如果您的目的是仅在点击input type="submit"元素时触发BlockUI覆盖,您可以更加具体地选择您的选择器。

<强> HTML

<div class="actionbuttons">
    <input type="submit" name="a" value="Save" />
    <input type="submit" name="b" value="Close" />
    <select name="c" size="1">
        <option selected="selected">Default</option>
        <option>Other</option>
        <!-- dont do anything when clicking here -->
    </select>
    <input type="submit" name="d" value="Change C" />
</div>

<强> JS

$('.actionbuttons input[type="submit"]').click(function (e) {
    $.blockUI({
        message: '<h1>thinking...</h1>'
    });
    verify( /* Pass in your form */ );
});

$('.actionbuttons select').change(function (e) {
    changeit();
});

这将触发具有input的任何type="submit"元素的行为,这些元素是具有actionbuttons类的容器的子元素(不一定是直接的)。然后你不需要在回调函数内部提出叠加层的任何逻辑。此外,您还可以选择直接将呼叫转移到verify

jsfiddle