0

我有以下 Jquery 代码,它只有 40% 的功能。我有几个用 php 动态生成的产品模块。每个包含选择组合框并选择一个选项都应该在我的 jquery 代码上触发,但不幸的是它仅在第一个模块的情况下执行。

    <div class="ajax_bar">

            <select id="ajax_call" size="1" name="Weitere Produkte">
                <option value='50'>Weitere Produkte</option>
                <option value='100'>weitere 100</option>
                <option value='150'>weitere 150</option>
            </select>

        </div>    

$(document).ready(function(){

    $("#ajax_call").change(function(){
        var domain = document.domain;
        var count = $('#ajax_call :selected').val();
        var $parent = $(this).closest(".product_box");
        var modul_title = $("h4", $parent).text();
});
4

2 回答 2

0

您是否为其他模块中的每个组合框生成了相同的 ID。我认为这可能就是为什么只执行第一个。您可以使用类而不是 id 来触发更改事件。

   <select class="ajax_call" size="1" name="Weitere Produkte">
  $(".ajax_call").change(function(){})
于 2012-05-18T13:13:26.723 回答
0

你的选择器是错误的。使用 ID 进行选择仅适用于一个元素。使用类进行通用选择。您应该在带有类 ajaxbar 的 div 中包含 select 元素。

$(document).ready(function(){
    $(".ajax_bar select").change(function(){
       var item=$(this);
       var domain = document.domain;
       var count = item.val();
       var $parent = item.closest(".product_box");
       var modul_title = $("h4", $parent).text();
       alert("count : "+count)
    });
});

这将与您提供的n个 HTML 标记一起使用(假设您为每个选择元素使用唯一的 ID。如果不是,您应该。ID 应该是唯一的元素)

JsFiddle 示例 http://jsfiddle.net/AZAZn/5/

于 2012-05-18T13:18:37.290 回答