我在创建一个从jQuery中的前一个select标签调用的新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
等于我在上面函数中创建的选项标签中的id。
我的问题是,单击id='#id'
等选项
我做错了什么?
感谢所有试图帮助我的人。 干杯。
答案 0 :(得分:0)
在select上使用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());
}