我想知道为什么下面的代码没有按预期工作。
/***** 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()不会被调用。
答案 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")
将返回第三个选择框,因为它是第一个可见的选择框。