Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Jquery事件委派不工作_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Jquery事件委派不工作

Jquery事件委派不工作,jquery,html,twitter-bootstrap,Jquery,Html,Twitter Bootstrap,我正在尝试根据在相应的弹出窗口上单击/输入的值更新我的div值 我有一条信息,上面写着“我单身,没有孩子”,点击单身,弹出一个带有选项(单身/已婚)的弹出框。如果用户点击已婚,那么我是应该被替换为我们已婚没有孩子的作品 当我试图再添加一行时,用户在弹出框中输入年龄并单击OK,标签中的文本应该被更新。这是。我试过这个机智的活动。。它不起作用 @Pete--我尝试使用数据btn自定义属性,因为我将重新使用“.popover内容按钮”。我修改了文件,但似乎不起作用。有什么见解吗 HTML 因此,我将您

我正在尝试根据在相应的弹出窗口上单击/输入的值更新我的div值

我有一条信息,上面写着“我单身,没有孩子”,点击单身,弹出一个带有选项(单身/已婚)的弹出框。如果用户点击已婚,那么我是应该被替换为我们已婚没有孩子的作品

当我试图再添加一行时,用户在弹出框中输入年龄并单击OK,标签中的文本应该被更新。这是。我试过这个机智的活动。。它不起作用


@Pete--我尝试使用数据btn自定义属性,因为我将重新使用“.popover内容按钮”。我修改了文件,但似乎不起作用。有什么见解吗

HTML
因此,我将您的
.popover标记按钮
更改为
.popover内容按钮
,因为我无法在您的按钮上看到该类。我想这就是为什么你的事件没有被触发,因为你的点击函数的类是错误的

$('body').on("click", ".popover-markup li, .popover-content button", function() {
我必须对你获得价值的方式做一些改变

case 'button':
             var age = $(this).parent().find('input').val();
             $(this).closest('.popover').prev('div').find('.popover-markup a').text(age);
             $('.trigger').popover('hide');  // If you want to hide the popover when clicking okay.
             break;
小提琴示例


@Trevor是正确的,因为您的选择器不正确。
.popover
函数将popover附加到
body
元素(有一个
容器
参数,该参数应允许您重写该参数,)

由于popover附加到正文中,因此它不是
.popover markup
的后代。将选择器更改为
.popover content li
.popover content button
可以很好地找到它们,并进行委派

处理程序中还有一些其他问题(当您没有定义
事件时,首先调用
event.target
),但这些问题很容易得到纠正


工作演示:

我尝试使用数据btn自定义属性,因为我将重新使用“.popover内容按钮”。我修改了小提琴似乎不起作用。任何细节??您可以使用自定义属性,但需要先定义它。您只需将
数据btn=“我的年龄”
添加到按钮标记或添加
$('.popover content button')。数据('btn','my age')
$('.popover markup>.trigger')
的单击处理程序中(我建议使用标记)。请参阅更新的小提琴:
$('body').on("click", ".popover-markup li, .popover-content button", function() {
case 'button':
             var age = $(this).parent().find('input').val();
             $(this).closest('.popover').prev('div').find('.popover-markup a').text(age);
             $('.trigger').popover('hide');  // If you want to hide the popover when clicking okay.
             break;