我有一个带有两个输入的表单(后面有一个PHP脚本):
<select id="select1">
<option>One</option>
<option>Two</option>
</select>
<input type="text" id="text1" disabled="disabled" />
PHP脚本查看数据库并使用selected="selected"
属性标记“One”或“Two”。
如果选择“一个”,我想激活禁用的文本字段。如果选择了任何其他条目(在此示例中为“Two”),则应禁用文本字段。我写了这个jQuery代码:
<script type = "text/javascript">
$("#select1").bind('change paste keyup', function() {
if (this.value == 'One') {
$("#text1").prop('disabled', false);
} else {
$("#text1").prop('disabled', true);
}
});
</script>
我的问题: 当我访问该页面并预先选择“一个”时,文本字段被禁用。我必须再次选择“两个”和“一个”。在此之后,启用文本字段。我想检查页面加载选择了哪个项目。我尝试了很多触发这样的改变,但它没有运行:
$(window).bind("load", function() {
$("#select1").trigger('change paste keyup');
});
我知道我可以使用.on
或.change
这样的思考,但我想用.bind
进行思考。
如何在页面加载时调用.bind
?
答案 0 :(得分:4)
只需在pageload上触发事件
$("#select1").on('change', function() {
$("#text1").prop('disabled', this.value !== 'One');
}).trigger('change');
bind
已被on
取代,不应使用