Похоже, что проблема была в $ (selected) .html () вернула "Google" (с пробелом) в ie7, но вернула "Google" в ie8, firefox и chrome.
Предыстория: я попробовал точный html как ответ Джеймса Студдарта, который работал под ie8, но под IE7 оператор if ($ (selected) .html () == "Google") возвращал false каждый раз и даже после попытки .text .val, .html и т.д ... и разные машины / конфиги. Затем я попытался создать переменную со значением .html следующим образом: var chosen = $(selected).html()
. Это вернуло "Google" в IE7. Чтобы исправить этот загадочный символ пробела в IE7, я изменил скрипт, чтобы пробел не влиял на результат:
<script type="text/javascript">
$("#selectable").selectable({
stop: function() {
$(".ui-selected", this).each(function(i, selected) {
var chosen = $(selected).html();
var subSection = chosen.substring(4, 0);
if (subSection == "Goog") {
$("#openid_identifier").val("https://www.google.com/accounts/o8/id");
}
else if (subSection == "Yaho") {
$("#openid_identifier").val("http://yahoo.com/");
}
});
}
});