kevin
kevin

Reputation: 85

jquery function

Hello id like to get the current element firing this event inside the event,

Ideally I need the id, selected value and class, Thanks in advance

$(document).ready(function () {

    $("#positions select").live("change", function () {

       var id = $("#category_id").val();
        //var id = this.val();
        alert(id);
        $.getJSON("/Category/GetSubCategories/" + id, function (data) {
            if (data.length > 0) {

                alert(data.length);
                var position = document.getElementById('positions');
                var tr = position.insertRow(7);
                var td1 = tr.insertCell(-1);
                var td = tr.insertCell(-1);
                var sel = document.createElement("select");
                sel.name = 'sel';
                sel.id = 'sel';
                sel.setAttribute('class', 'category');

                // $("positions select").live("change", function () {
                //});

                td.appendChild(sel);
                $.each(data, function (GetSubCatergories, category) {
                    $('#sel').append($("<option></option>").
           attr("value", category.category_id).
          text(category.name));

                });
            }

        });
    });
}); 

Upvotes: 0

Views: 81

Answers (1)

karim79
karim79

Reputation: 342635

$("#positions select").live("change", function () {
    var selectedVal = $(this).val(); 
    var id = $(this).attr('id'); // or this.id
    var class = $(this).attr('class');
    ...

is that what you mean?

Use .attr() to get or set element attributes.

To get a select field's selected value(s) use .val()

Upvotes: 4

Related Questions