在我的应用程序中,用户可以编辑预订信息,但我不希望他们更改预订类型。所以我想加载一个页面,其中包含一个显示预订类型的选择菜单,但它也被禁用。我想要发生的是,如果禁用了选择菜单,则在页面加载时,将根据所选但禁用的类型显示相关元素。阅读文档这是我认为我需要的:
jQuery("#tipologia_piazzola").load(function(){
alert("something");
if (this.value == "mensile" && this.is(":disabled")) {
jQuery(".both").show();
jQuery(".mensile").show();
jQuery(".giornaliera").hide();
}
});
显然我已经将它插入就绪函数中,但是警报和html元素都没有出现。这是正确的方法吗?或者,我怎样才能达到目标?
答案 0 :(得分:1)
您需要使用jQuery(this)
而不是this
来调用is(':disabled')
函数,因为它需要jQuery对象而不是javascript对象。还可以使用document.ready
,如下所示,以确保所有DOM元素都已就绪。
jQuery(document).ready(function(){
var $this = jQuery('#tipologia_piazzola');
if ($this.val() == "mensile" && $this.is(":disabled")) {
jQuery(".both").show();
jQuery(".mensile").show();
jQuery(".giornaliera").hide();
}
});
注意: - 如果您已将document.ready
排除在外,请将其排除在现有document.ready