У меня есть пользовательский элемент управления Silverlight, где у меня есть текстовое поле и кнопка. На этой странице Silverlight может быть несколько таких пользовательских элементов управления.
Когда кнопка нажата, я хочу запустить функцию javascript, которая вызывает всплывающее окно jquery, чтобы открыть другую страницу в том же приложении через iframe. На этой странице пользователь выполняет поиск, и данные должны быть переданы вплоть до пользовательского элемента управления Silverlight, и текстовое поле должно быть заполнено этим.
Используя метод HtmlPage Invoke в Silverlight, я могу вызвать функцию javascript. В этом javascript я также могу вызвать всплывающее окно jquery mobile. Однако я не могу вернуть поисковое слово из этой функции вниз. Ниже функция немедленно возвращает пустую строку. Я использовал метод setTimeout и defer, но все равно безуспешно. Во всплывающем окне, когда пользователь заканчивает поиск слова и закрывает окно, эта всплывающая функция вызывает родительскую функцию с именем setSearchWord(). Эта функция находится на этой странице, которая устанавливает переменную searchWord.
var searchWord = '';
function calljquerymobilePopUp(){
$("$popupWin").popup('open');
//what should I do here such that I can make sure 'searchWord'
//variable is not empty and return it to silverlight user control.
return searchWord;
}
function setSearchWord(val){
searchWord = val;
// I always get this value but its always too late.
// In silverlight user control, I end up getting empty string
console.log(searchWord);
$("$popupWin").popup('close');
}
setSearchWord
, но я не вижу этого кода. - person Beetroot-Beetroot   schedule 10.04.2013