我遇到的问题与this非常相似。
然而,该问题没有答案,两个月内没有活动。所以经过多次谷歌搜索没有任何运气我在这里张贴,看看是否有任何想法。
基本上,放在textarea标签之间的文本不会显示在jquery ui对话框中。即使html是硬编码的,也是如此。在使用chrome或firebug进行检查时,HTML中会显示正确的文本,但不会呈现。
注意:这是在CodeIgniter框架中完成的,因此JS正在调用控制器从模型中获取数据并将其加载到视图中
HTML看起来像这样:
<div id="popup-scroll"></div>
JS喜欢这样:
$popupScroll = $('#popup-scroll');
window.editNotes = function (adminId) {
$popupScroll.html('<div id="!user-series-notes" data-source="/sepanel/students/seriesNotes/' + adminId + '"></div>').dialog({
title: 'Edit User Series Notes',
width: 565,
height: 450,
buttons: {
Save: function () { saveNotes(adminId); },
Cancel: _S.ui.closeDialog
}
});
refreshNotes();
$(document).on('change', '#passed-series', function () {
_S.ui.toggle($('#final-score'), $('#passed-series').is(':checked'));
});
};
function refreshNotes() {
var oldText = $('textarea[name=notes]').val();
_S.refresh('user-series-notes', function () {
$('textarea[name=notes]').val(oldText);
$('#exam-date').datepicker();
$('#series-score').spinner({ min: 0 });
});
}
视图如下:
<form id="notes-form">
<input type="hidden" name="user_id" value="<?php echo $admin->user_id; ?>">
<input type="hidden" name="series_id" value="<?php echo $admin->series_id; ?>">
<label class="admin-label">Notes:</label><textarea id="notes" name="notes" rows="5" cols="50"><?php echo $admin->notes; ?></textarea>
</form>
如果有人想看到控制器或型号我也可以发布。
答案 0 :(得分:0)
问题出在refreshNotes()函数中。删除var oldText以及将其作为值传递到textarea的行解决了这个问题。