0

这是我的代码:

<div id="reason_bars">Reason <select style="width:200px;" disabled="disabled"><option><option></select>
<div class="edit" style="position:absolute;left:212px;top:50px;">Edit</div></div>

我想触发一个事件,如果单击带有 class="edit" 的 div,则元素(其兄弟)将被启用,

我尝试了以下代码:

$(document).ready(function () {
$("#reason_bars .edit").click(function () {
var parent=$(this).parent();
$(parent+" select").removeAttr("disabled");
});
});

这不起作用。

有没有其他选择?

谢谢!

4

4 回答 4

1

你需要把它写成$(parent).find('select').removeAttr("disabled")

于 2011-06-28T11:44:50.203 回答
1

试试看:

$(document).ready(function () {
$(".edit").click(function () {
   $(this).parent().find('select').removeAttr("disabled");
  });
 });

这里

于 2011-06-28T11:50:25.910 回答
0

尝试

$(document).ready(function () {
     $("#reason_bars .edit").click(function () {
          $(this).siblings('select').removeAttr("disabled");
     )}
});

在您的行$(parent+" select")中, parent 是对对象的引用,而不是字符串,这就是它不起作用的原因。您还可以使用 jQuery 兄弟选择器来简化操作。

希望这可以帮助!

于 2011-06-28T11:43:49.280 回答
0

你可以试试这样的

$(document).ready(function () {
    $("#reason_bars .edit").click(function () {
        $(this).parent().find("select").removeAttr("disabled");
    });
});
于 2011-06-28T11:46:14.487 回答