关于变更的jQuery不会返回属性值

时间:2016-04-05 17:53:30

标签: javascript php jquery

在更改属性ID上显示选择时出现问题。

PHP:

<form action="" class="form-inline">
    <div class="form-group">
        <select name="kategorijos" id="kategorijos" class="category form-control" onchange="fetch_select_category(this.value);">
            <option value=""></option>
            FOREACH
        </select>
    </div>
    <div class="form-group">
        <fieldset disabled>
            <select id="disabledSelect" name="subcategories" class="subcategory form-control" onchange="fetch_select_product(this.value);" required>
                <option value="" disabled selected>Select Subcategory</option>
            </select>
        </fieldset>
    </div>
    <div class="form-group">
        <td><input type="text" name="gramai" class="form-control" value=""></td>
    </div>
    <div class="form-group" id="kalb">
        <input type='text' name='1[]' value="-" disabled>
        <input type='text' name='12[]' value="-" disabled>
        <input type='text' name='123[]' value="-" disabled>
        <input type='text' name='1234[]' value="-" disabled>
    </div>
</form>

我的jquery代码:

$("select").on('change', function() {
    var status = $('select').attr('id');
    alert(status); 
});

var categoryId = 0;
var category = 0;
var product = 0;
var disableId = 0;

$("#add").click(function () {
    categoryId = categoryId + 1;
    category = category + 1;
    product = product + 1;
    disableId = disableId + 1;

    $("#item").append('<div class="col-xs-12"><form action="" 
        class="form-inline"><div class="form-group"><select name="kategorijos" 
        **....... same code as above (php)**
    });

当我选择第一行时,它会提醒值。但后来我添加添加按钮的新行,然后更改第二个选择警报不起作用,我没有得到选择ID。哪里可以问题?也许它不适用于附加html?

1 个答案:

答案 0 :(得分:2)

您需要将event delegation用于动态生成的元素,并使用this代替'select'来获取下拉列表的id

$(document).on('change', 'select', function() {
    var status = $(this).attr('id');
    alert(status); 
});