Can';“不要让这件事发生”;onchange";on<;选择>;使用javascript工作
我已经尝试了很多方法,但都没有成功 代码如下: JS:Can';“不要让这件事发生”;onchange";on<;选择>;使用javascript工作,javascript,jquery,html,handlebars.js,Javascript,Jquery,Html,Handlebars.js,我已经尝试了很多方法,但都没有成功 代码如下: JS: 在显示一次之前,当我单击选项时,永远不会显示测试 HTML: <label for="link-ranges">Link target entities</label> <div class="controls" id="rangeDiv"> <select class="span12" id="link-ranges" size="5"></select> </di
在
显示一次之前,当我单击选项时,永远不会显示测试
HTML:
<label for="link-ranges">Link target entities</label>
<div class="controls" id="rangeDiv">
<select class="span12" id="link-ranges" size="5"></select>
</div>
<script type="text/x-handlebars-template" id="range-list-template">
{{#if ranges}}
<select class="span12" id="link-ranges" size="5">
{{#each ranges}}
<option value="{{this.id}}">
{{this.name}}
</option>
{{rangeOption}}
{{/each}}
</select>
{{/if}}
</script>
链接目标实体
{{{#if ranges}}
{{{#每个范围}
{{this.name}}
{{rangeOption}}
{{/每个}}
{{/if}
以下是HTML页面中的结果:
<select class="span12" id="link-ranges" size="5">
<option value="1">
data1
</option>
<option value="2">
data2
</option>
</select>
数据1
数据2
或
这对于jquery中的更改是无效的语法。还要确保将代码包装在DOM就绪事件中。试试这个:
$(document).ready(function(){
$("#link-ranges").on('change',function() {
console.debug("test");
});
});
在('change',function(){…})上尝试
$('#link ranges')
而不是在jQuery选择器上设置一个onchange
属性。这并不奇怪。不要使用$。live
,使用$。在
@Bic上为什么不请解释我还不知道?@MsiSaurovh该方法自jQuery 1.7以来就被弃用了。Yep:TypeError:Object[对象对象]没有“live”方法
正如我所说,我尝试了很多方法,但这对我不起作用。(您忘记关闭括号)是的,这是一个巨大的代码,我向您展示了一个很小的元素,其中我无法通过javascript附加事件。我想知道handlebars是否不是原因,因为通过handlebars创建的select与上面的id相同,但在呈现页面时,如果至少有一个元素,则只有一个select,handlebar中的一个。@Ellayer:通过将代码包装到dom ready中来试一试。还要检查控制台中是否存在任何错误。不更改任何内容,并且控制台中没有错误。我知道这应该行得通,这就是我为什么问的原因。^^我不知道该怎么解决这个问题。@ellayer:渲染后检查选择选项的id。
$( "#link-ranges").live('change',function() {
console.debug("test");
};
$( "#link-ranges").on('change',function() {
console.debug("test");
};
$(document).ready(function(){
$("#link-ranges").on('change',function() {
console.debug("test");
});
});