我有文字区域。 Textarea内容源自可嵌套列表的实现过程。
Textarea内容如下:[{"id":1,"children":[{"id":4}]},{"id":2}]
文字区域:
<div class="span6">
<h3>Serialised Output (per list)</h3>
<textarea id="nestable_list_1_output" class="m-wrap span12"></textarea>
</div>
我还有一个jquery函数:
$(function() {
function conv(data){
var result=[];
function dfs(node, parent) {
for(var i in node){
result.push({id:node[i].id,pid:parent});
if (node[i]['children']) dfs(node[i]['children'],node[i]['id']);
}
}
dfs(data, 0);
return result;
}
我希望每当texarea上的值发生变化时都会发布ajax帖子。
var data = JSON.stringify(conv($.parseJSON($("textarea#nestable_list_1_output").val())));
$.ajax({
type: 'POST',
url: "http://example.com/navigation/save_menu",
data: 'menu_data=' + JSON.stringify(data),
dataType: 'json',
success: console.log('Data Post:' + data),
});
怎么做?
非常感谢您的回复。
Karlis。
更新
基于很棒的社区成员,游戏事件已更改为 clik按钮。 感谢sugestions;)
答案 0 :(得分:1)
您将创建一个change
事件:
$("#nestable_list_1_output").change(function() {
var currentText = this.value;
//AJAX TIME
});
答案 1 :(得分:1)
试试这个,
$("#textarea").on('keyup paste', function(e) {
clearTimeout($(this).data('timeout'));
$(this).data('timeout', setTimeout(function(){
alert(e.target.value);
}, 200));
});
这应该适用于从键盘和鼠标
复制粘贴的情况