这是我第一次使用stackoverflow。希望一切都有意义。
我正在使用tableTop.js和Handlebars从谷歌电子表格中提取数据。
加载数据时,每个人都有一个关联的单选按钮,需要在选中时触发事件(此时只是一个警告框)。
我的问题是当我点击它时没有任何反应。但是,如果我使用完全相同的代码进行硬编码(不是从电子表格中提取),则警报会正常触发。
以下是演示链接 http://jsfiddle.net/danieltramacchi/zgSvY/
触发事件的代码
$(document).ready(function () {
$(".sem-box").on("change", function () {
var location = $(this).find("h3").html();
alert(location);
});
});
最初出现的单选按钮会触发警报,但如果您点击该图像,则会将其删除并从电子表格中提取数据。
非常感谢任何帮助!
答案 0 :(得分:2)
尝试:
$("#seminar").on("change", ".sem-box",function () {
var location = $(this).find("h3").html();
alert(location);
});
答案 1 :(得分:0)
更改方法不适用于div元素。
你可以尝试这样的事情:更改事件在其值更改时发送到元素。此活动仅限于输入元素, textarea 框和选择元素。
$(".sem-box").find('input[type=radio]').change(function () {
//code
});
答案 2 :(得分:0)
$('#seminar').on('change', '.sem-box', function () {
var location = $(this).find('h3').html();
alert(location);
});
答案 3 :(得分:0)
看起来你正在尝试将“change”事件绑定到div元素。我认为更改元素不会在DOM树中传播。见this question。所以你的处理程序将在div元素上设置,但“change”事件永远不会被触发。
这样的事情:
$("input[name=radioButtonGroup]").change(function () {
...
}
可能会完成这项工作。
另见fiddle