2011-06-07 49 views
1

我想在<select>列表中填入<option>的值。jQuery从选择选项填充div - IE7问题

我jQuery是:

$('select#address_select_previous').click(function() { 
    var previousAddress = $('select#address_select_previous option:selected').text(); 
    previousAddress = previousAddress.replace(/, /g, ', <br />'); 
    $('#previous_address_populated p').html(previousAddress); 
});  

我本来.change(函数()),但我发现在这里,是IE 7不会这样。

问题是,var previousAddress没有任何价值(即如果我控制台日志,或提醒该值,它在IE7为空,但在其他浏览器罚款),所以它不会填充div,因为那里没有什么可以填充它。

+1

你到底在想什么?代码发布不起作用吗?或者你问为什么'.change'不起作用,但这是?请详细说明 – 2011-06-07 15:16:40

+0

@Jeremy B对不起,我编辑了一下,更好地解释了这个问题。 – theorise 2011-06-07 15:21:36

回答

1

- 编辑 -

see working jsFiddle demo

我也做了一些微小的优化:

var $select = $('select#address_select_previous'), 
    $populated = $('#previous_address_populated p'); 

$select.change(function() { 
    $populated.html($select.val().replace(/, /g, ', <br />')); 
}).change(); 
+0

find(“option:selected”)甚至不需要 – 2011-06-07 15:22:31

+0

这似乎只是返回对象的索引。如果我点击第一个选项,val = 0,second = 1等。 – theorise 2011-06-07 15:25:41

+1

回到你的小提琴并改变val()为文本(),你会发现它仍然有效。 val()不是他所遇到的问题。特别是因为你没有指定一个val,所以添加val属性,它会中断。 – 2011-06-07 15:25:48

0

也许

$('select#address_select_previous').val(); 

.change()应当虽然工作...

+0

虽然不确定你有什么问题... – 2011-06-07 15:17:55