我有以下带有函数的jQuery文件:
jQuery(document).ready(function(){
// Function to disable first two options of dropdowns
function disableNG(){
jQuery('[name=bundle_attribute_pa_maat_163] option:eq(0)').attr("disabled",true);
jQuery('[name=bundle_attribute_pa_maat_160] option:eq(0)').attr("disabled",true);
jQuery('[name=bundle_attribute_pa_maat_163] option:eq(1)').attr("disabled",true);
jQuery('[name=bundle_attribute_pa_maat_160] option:eq(1)').attr("disabled",true);
};
disableNG();
});
但由于某种原因,此功能并未禁用页面加载下拉列表的两个第一个选项。
我在一些disableNG();
函数上调用函数.change()
,它们可以正常工作。
我不明白为什么他们不会在初始页面加载时禁用。
答案 0 :(得分:1)
首先,使用新的ready state
语法。其次,使用.prop
代替.attr
,因为那是property
而不是attribute
你要设置的。
jQuery(function($){
// Function to disable first two options of dropdowns
function disableNG(){
$('[name=bundle_attribute_pa_maat_163] option:eq(0)').prop("disabled",true);
$('[name=bundle_attribute_pa_maat_160] option:eq(0)').prop("disabled",true);
$('[name=bundle_attribute_pa_maat_163] option:eq(1)').prop("disabled",true);
$('[name=bundle_attribute_pa_maat_160] option:eq(1)').prop("disabled",true);
};
disableNG();
});