我正在尝试使用colorbox创建一个模态窗口,通过将textarea放在颜色框中来更改报告标题,如下所示。
<a class="change-report-title" href="#edit-box">Change Title</a>
jquery的:
$(".change-report-title").colorbox({
inline:true,
width:"400px",
onOpen:function(){
var current_title = $("#report-title").html();
$("#title-box-text").html(current_title);
}
});
HTML:
<div style="display:none">
<div id="edit-box">
Edit Report Title<br />
<textarea id="title-box-text" name="title-box-text" cols="38" rows="5"></textarea>
<br />
<input id="title-box-change" name="title-box-change" type="button" value="Update" />
</div>
</div>
我在加载colorbox时尝试获取报告标题,但它运行正常 现在尝试使用编辑后的textarea值更新标题,textarea继续返回第一个值。
$("#title-box-change").click(function (e) {
var new_title = $("#title-box-text").html();
$("#report-title").html(new_title);
return false;
});
有些东西我不仅仅是正确的,我用Google搜索并搜索了stackoverflow。 任何想法将不胜感激。感谢。
答案 0 :(得分:1)
使用val()
功能代替html()
。如果你需要获取/设置文本(而不是html标记),最好使用text()方法而不是html()。
代码的第一部分:
var current_title = $("#report-title").text();
^^^^^^^
$("#title-box-text").val(current_title);
^^^^
对于点击事件:
$("#title-box-change").click(function (e) {
var new_title = $("#title-box-text").val();
^^^^^^^^^
$("#report-title").text(new_title);
^^^^^
return false;
});