我將一個select-element添加到DOM節點並動態填充它,這在Firefox和Safari中很適用。不幸的是,當我點擊選擇框時,它簡單不會在Internet Explorer中下拉。任何想法在這裏出了什麼問題?在IE7中添加元素
$('<select size="1">').appendTo(
$('#mytable tbody')
.find('tr:last')
.find('th.col1')
)
.attr('id', 'select_' + counter)
.append('<option>New Option</option>')
.click(function() {
var t = $(this);
// Get matching alternatives as json
$.getJSON(Drupal.settings.basePath + 'mymodule/product_cat/' + data['product_category'], function(cat_data) {
t.find('option').remove();
$.each(cat_data, function(i,item){
t.append($("<option value='" + JSON.stringify(item) + "'>" + item.name + "</option>"));
});
t.find('option:first').attr('selected', 'selected');
});
})
.change(function() {
tmparr = $(this).attr('id').split('_');
set_row_data($(this).parent().parent(), $(this).val());
});
}
- 更新 -
我考察的選擇框包含IE7更新後的代碼 - 它通過JSON seeem得來的DOM樹正確插入選項,因此它看起來問題在別的地方。任何想法讚賞。
- UPDATE 2 -
IE7的問題似乎是在。點擊() - 功能:
如果我把一些像這樣的代碼:
$('#myelement').append('<option>foo</option>');
即使在IE7中也能正常工作。
如果我把它變成像這樣的點擊功能:
$('#myelement').click(function() {
$(this).append('<option>foo</option>');
});
出現的問題。
- 解決方案 -
什麼沒人注意到(以上所有:我),是,我的第一行是越野車:
$('<select size="1">').appendTo(...
應該
$('<select size="1"></select>').appendTo(...
現在工作,無論如何感謝所有人。
你能詳細說明一下嗎? – schneck 2009-12-09 12:52:43
感謝您的建議 - 我現在實現了兩個(建議標題和URL修改),但它不能解決問題。選擇框的內容似乎「滑落了幾個像素」,不會再點擊下拉。 – schneck 2009-12-09 13:06:38