1

我有以下 HTML。我试图实现的是在选择框h4调用的更改函数中获取返回文本#my_id

<div class="product_box">
    <h4>title</h4>
    <select id="my_id">
        <option value="1"></option>
        <option value="2"></option>
        <option value="4"></option>
    </select>
</div>
$("#ajax_call").change(function(){
    var count = $('#ajax_call :selected').val();
    var prod_modul =$('#ajax_call').parents();
}); 
4

2 回答 2

1

尝试使用父元素作为上下文,如下所示:

$("#my_id").change(function() {
    var $parent = $(this).closest(".product_box");
    var text = $("h4", $parent).text();
});

或者,如果您可以保证h4始终的前一个元素select,那么您可以使用prev()

$("#my_id").change(function() {
    var text = $(this).prev().text();
});

我的偏好是前者,因为它不依赖于元素的位置保持不变——这永远无法真正得到保证。始终next()谨慎prev()使用。

于 2012-05-16T08:18:16.080 回答
0

使用兄弟姐妹

$("#my_id").change(function() {
    var text = $(this).siblings("h4").text();
    //.....
});

演示

于 2012-05-16T08:21:31.810 回答