1

jQuery の以前の選択タグから呼び出される新しい html 選択タグを作成しているときに問題が発生しました。

だから私はから始めます:

$('#tab11').click(function() {

    var columns = [
        {val:'id', text:'id', id:'id'},
        {val:'display_name', text:'display_name', id:'display_name'},
        {val:'short_name', text:'short_name', id:'short_name'}
    ];  

    $('#columns').html('');
    $('#condition').html('');

    var sel = $('<select>').appendTo('#columns')
                           .css({backgroundColor:'#8B0000',
                                 color:'white',
                                 border:'inset 1px',
                                 borderColor:'#8B0000',
                                 width:'130'});

    $(columns).each(function() {
       sel.append($("<option>").attr({value:this.val, id:this.id})
                               .text(this.text)); 
    });

});

ここまではすべてうまくいくので、次のような関数を呼び出したい

$('#id').click(function() {
    // some code here
});

それによって#id、上記の関数で作成されたオプション タグの my id と同じです。id='#id'私の問題は、などのオプションをクリックしてもこの機能が実行されないことです。

私は何を間違っていますか?

私を助けようとするすべての人に感謝します。乾杯。

4

1 に答える 1

0

選択時にイベントを使用してください。要素changeに対してクリックイベントが機能しないと思います。option

デモ

$(function () {
    $('#columns').html('');
    $('#condition').html('');

    var sel = $('<select>').appendTo('#columns').css({
        backgroundColor: '#8B0000',
        color: 'white',
        border: 'inset 1px',
        borderColor: '#8B0000',
        width: '130'
    }).change(handleChange);

    $(columns).each(function () {
        sel.append($("<option>").attr({
            value: this.val,
            id: this.id,

        }).text(this.text))
    });
});

function handleChange() {
    alert($(this).val());
}
于 2013-05-29T01:15:10.350 に答える