jquery可见选择框更改事件

时间:2011-03-24 11:27:44

标签: jquery drop-down-menu

我想知道为什么下面的代码没有按预期工作。

/***** selecting select box having options 5,6 *****/
$("select:visible:first").change(function () {
 alert("hi");
});

用于

之类的结构
<div style="display: none;">
 <select>
  <option>1</option>
  <option>2</option>
 </select>

 <select>
  <option>3</option>
  <option>4</option>
 </select>
</div>

<div>
 <select>
  <option>5</option>
  <option>6</option>
 </select>

 <select>
  <option>7</option>
  <option>8</option>
 </select>
</div>

这个想法是,当有人点击两个中的第一个时,选择可见的框,我应该显示所选的值。但不知何故,change()不会被调用。

2 个答案:

答案 0 :(得分:1)

if($('select').is(':hidden')) {
   put here what you wanna change...
}

我会给你一点启动:)

评论如果你没有坚持下去:)

答案 1 :(得分:0)

听众正在为第三个选择框附加,即。选择框的值为5,6
http://jsfiddle.net/eLxvr/
这种行为是正确的:

前2个选择框位于样式为display:none的div中,因此$("select:visible:first")将返回第三个选择框,因为它是第一个可见的选择框。