Я не могу получить значение из опции выбора, которая была динамически создана при просмотре в IE6 / IE7.IE всегда возвращает undefined в качестве значения.
У меня есть настройка скрипка , и ниже приведен полный источник примера (в случае, если вы пытаетесь использовать скрипку в IE6 / 7...heh):
<!doctype html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
var json = "blah blah blah";
jQuery(document).ready(function(){
$('#myForm').html('<select id="sg-1" class="setgroup" name="sg-1"><option value="s-1">Something</option><option value="s-2">Another</option><option value="s-3">Third</option><option value="s-4">Fourth</option></select>');
$('.setgroup').live('change',function(){
updateSelected($(this + ':selected').val(), json);
});
});
function updateSelected(value, json){
//do some stuff with the json in my app
$('#selected').html(value + ' was selected');
}
</script>
</head>
<body>
<form id="myForm">
</form>
<p id="selected" style="font-size:20px; color:#f00;"></p>
</body>
</html>
В примерах используется live (), однако я также попробовал вариант с использованием .delegate ().Оба метода работают во всех браузерах, кроме IE6 / 7.Я попытался использовать щелчок как событие.Любые идеи?
Я также попробовал решение (ы), предоставленные здесь .Кажется, проблема в том, что $ (this) неправильно интерпретируется, как будто я помещаю предупреждение в live / change / делегат, он будет срабатывать правильно.