Я в полном недоумении, и любая помощь приветствуется.
фрагмент кода:
$specialIFrame.contents().find("#flavorPara select#productList option[value="+$varietal_code+"]").attr("selected","selected");
$specialIFrame
- это iframe, значения для меню выбора извлекаются из другого iframe на странице. Приведенный выше код правильно устанавливает выбранную опцию в FF и Chrome, но не в IE7. Когда я проверяю значение $varietal_code
с предупреждением (); Я получаю правильное числовое значение. Когда я жестко кодирую допустимое значение вместо переменной $varietal_code
, вышеописанное работает правильно даже в IE7. Но когда я использую вышеупомянутое в IE7, на компьютере с Windows Vista, меню выбора по умолчанию выбирает первый вариант.
Я бы включил весь код, но он настолько многословен, что я надеюсь, что моя проблема только в приведенном выше коде.
Я также пытался .attr('selected',true);
безрезультатно.
Я предполагаю, что моя конкатенация - это проблема? Заранее спасибо, Stack Overflow постоянно получал ответы на мои запросы, но я впервые задаю вопрос.
Я добавляю всю функцию, это может быть более глубокой проблемой, чем я думал:
$specialIFrame.contents().find('#selectWinePopup a').click(function() {
var $varietal_code = $(this).attr('href').replace('#','');
var $varietal_name = $(this).text();
//alert('code ' + $varietal_code + ' name ' + $varietal_name);
//$specialIFrame.contents().find('#flavorPara #productList > option[value="'+$varietal_code+'"]').attr("selected", "selected");
$specialIFrame.contents().find("#flavorPara select#productList option[value="+$varietal_code+"]").attr("selected", "selected");
//$specialIFrame.contents().find('#flavorPara #productList').val($varietal_code);
//$specialIFrame.contents().find("#flavorPara select#productList option[value="+$varietal_code+"]").selectedIndex = 1;
//alert($varietal_code);
$specialIFrame.contents().find('#selectWinePopup').hide();
$specialIFrame.contents().find('#flavorPara').removeClass('active');
$specialIFrame.contents().find('#flavorPara').css("background-image","url('/resources/images/ftrWineSelect.jpg')");
var $starttext = $specialIFrame.contents().find('#flavorPara #showflavor').text();
var $newtext = $specialIFrame.contents().find('#flavorPara select#productList option:selected').text();
var $valtext = $specialIFrame.contents().find('#flavorPara select#productList option:selected').val();
//alert($newtext);
alert($valtext);
$specialIFrame.contents().find('#flavorPara #showflavor').text($varietal_name);
//alert('code ' + $varietal_code + ' name ' + $varietal_name);
});
Я оставил свои собственные тесты и предупреждения, чтобы каждый мог увидеть некоторые из моих тестов.