Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导popover更新内容_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript 引导popover更新内容

Javascript 引导popover更新内容,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,如何更新bootstrap popover的内容ajax成功后,我特别需要更改输入字段的值,但一旦我关闭popover并单击它,输入字段的原始值就会显示出来?有人能帮我吗 <button class="btn btn-primary edit" data-content='<input type="text" id="name" value="some value"> <button class="btn btn-primary save">Save</but

如何更新bootstrap popover的内容ajax成功后,我特别需要更改输入字段的值,但一旦我关闭popover并单击它,输入字段的原始值就会显示出来?有人能帮我吗

<button class="btn btn-primary edit" data-content='<input type="text" id="name" value="some value">
<button class="btn btn-primary save">Save</button>'>Edit</button>

保存数据后,popover将关闭,当我再次单击“编辑”时,输入框中将显示旧值。

请查看随附的popover工作演示,该演示将使用ajax请求的响应进行更新

我删除了您的请求参数,只是为了让演示能够使用mocky.io执行请求

诀窍是使用
.attr('value',text)
而不是
.val(text)
。我不太清楚这里发生了什么。也许有人能解释为什么不同。 但是有了attr,它改变了popover,并且工作正常

需要做的另一件事是重新创建popover。我还想销毁第一个爆米花,但这不起作用。所以我又制作了同样的popover

你也可以在这里找到相同的代码

这里的代码中有一个bug。如果从服务器获取数据,然后关闭popover,数据将重置为初始值

我不知道出了什么问题,因为它在JSFIDLE上运行时没有那个bug

更新日期2014年12月4日:

我对代码做了一些改进。现在,popover中有一个关闭按钮,并且数据被存储,所以当popover重新打开时,来自服务器的数据仍然可用

上面提到的bug可能不是一个SO问题,这是因为来自服务器的数据没有正确存储。这一点现在也得到了修正

我还删除了演示中一些不需要的脚本标记,因为工具提示和popover已经包含在Bootstrap3中

更新日期2014年12月5日:

我对代码有另一个改进。 行
$(this).parent().find('.close')。click(…)
没有按我所希望的那样工作。我只想将处理程序添加到当前popover的close按钮。但是它将它添加到类
.close
的所有元素中。 因为$(this).parent()是body元素。我认为这样做更好:

var current_popover = '#' + $(e.target).attr('aria-describedby');
var $cur_pop = $(current_popover);
$cur_pop.find('.close').click({});
使用aria descripeby您将获得当前popover的id,然后您可以找到该popover的关闭按钮

$(函数(){
var editData='新值';
var dopoover=函数(项目,文本){
$('#name').attr('value',text);//使用set attr而不是val()

//$(“#name”).val(text);//请检查您的HTML标记。
data content=“
有问题,按钮的结尾
丢失。@a如果我无法修复,欢迎您编辑它。检查
var current_popover = '#' + $(e.target).attr('aria-describedby');
var $cur_pop = $(current_popover);
$cur_pop.find('.close').click({});