Я столкнулся с проблемой, когда сегодня работал. Название компании на странице читается с использованием Ajax после выбора названия проекта. Тем не менее, JQTransform вызывается после того, как страница загружается, поэтому раскрывающееся полевое поле не может отображать последние данные.
<link rel = "styleSheet" href = "$ {ctx} /jqtransformmplugin/jqtransform.css" type = "text/css"> </link> <script type = "text/javascript" src = "$ {ctx} /jqtransformmplugin/jquery.jqtransform.js"> </script>
<Script type = "text/javascript">
$ (function () {
$ ('form'). jqtransform ({imgpath: 'Images/jQueryformimg/'});
});
</Script>
Используя Firebug, вы можете видеть, что данные фактически были сплачиваны, но Форма называется методом JQTransform после загрузки страницы, а данные UL в JQTransFormSelectWrapper не были обновлены. Подумав в течение долгого времени, я решил обновить UL простым и грубым образом.
Function CompanyaJax (proId) { $ .ajax ({
Тип: "post",
URL: "$ {pagecontext.request.contextPath}/recordsearch/ajax/getcompanyajax.do",
DataType: "json",
Data: {proid: proid},
Успех: функция (jsondata) {
var tmp = '';
tmp+= '<select id = "centerid" name = "centerid" onchange = "comchange ()" name = "centerid">';
// $ ("#centerId"). empty (); tmp+= '<antain value = "">-пожалуйста, выберите-</option>';
for (var i = 0; i <jsondata.length; i ++) {
tmp+= '<option value = "'+jsondata [i] .centerid+'">'+jsondata [i] .centername+'</option>';
}
tmp+= '</select>';
$ ("#centerId"). parent (). remove ();
$ ("#Comlable"). After (TMP);
$ ("#CenterId"). JQTransSelect ();
}
});
}
Ха-ха, после того, как Ajax запрашивает данные компании, удалите дивизион, связанный с выбором, сгенерированный JQTransform, затем сплачивает SELCT, а затем повторно инициализируйте SELECT. Метод глуп, но давайте сначала используем его, и есть лучший способ поговорить об этом в будущем.
Разве это не круто? Полем Ха -ха, на самом деле, JQTransform более мощный. Если вам нужно использовать аналогичные эффекты в будущем, вы можете обратиться к ним.