我正在尝试在Google Apps脚本中添加带有jQuery的委托更改处理程序,但它无效。我希望能够让用户向包含选择框的表添加一行。
更新:这显然是Apps脚本的一个问题(可能是Caja清理问题?),因为代码本身在jsFiddle中有效。有没有人建议如何实现在GAS中可以使用的相同功能?
UPDATE2:我也尝试使用较旧的.delegate()方法,但这似乎也不起作用。
<div class="outer">
<table>
<tr>
<th>Description</th><th>User Selection</th>
</tr>
<tr>
<td>Pre Loaded</td>
<td>
<select>
<option value="foo">foo</option>
<option value="bar">bar</option>
</select>
</td>
</tr>
</table>
<button>Add New</button>
</div>
脚本:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$('button').click(function(){
$('.outer table').append(
"<tr>"
+"<td>Post Loaded</td>"
+"<td>"
+"<select>"
+"<option value=foo>foo</option>"
+"<option value=bar>bar</option>"
+"</select>"
+"</td>"
+"</tr>"
);
});
//delegate change handler
$('.outer table').on('change', 'select', function() {
alert($(this).val());
})
//direct change handler
// $('.outer table select').on('change', function() {
// alert($(this).val());
// })
</script>