【发布时间】:2020-05-14 12:20:09
【问题描述】:
不知道为什么我的代码没有删除和添加需要选择。 我尝试使用 .prop('required','required') 和 attr('required')/attr('required','required) 切换选项时它不起作用 css 属性正常工作。
$('#pierwszy_wybor_jaka_szkola').change(function () {
if ($(this).val() == '0') {
$('.pierwszy-wybor-branzowa').css("display", "none");
$('.pierwszy-wybor-technikum').css("display", "none");
$('#pierwszy-wybor-technikum').prop('required', false);
$('#pierwszy-wybor-branzowa').prop('required', false);
} else if ($(this).val() == 'Technikum') {
$('select#pierwszy-wybor-technikum').attr('required','required');
$('select#pierwszy-wybor-branzowa').removeAttr('required');
$('.pierwszy-wybor-technikum').css("display", "block");
$('.pierwszy-wybor-branzowa').css("display", "none");
} else if ($(this).val() == 'Branżowa') {
$('#pierwszy-wybor-technikum').prop('required', false);
$('#pierwszy-wybor-branzowa').prop('required', true);
$('.pierwszy-wybor-branzowa').css("display", "block");
$('.pierwszy-wybor-technikum').css("display", "none");
} else {
$('#pierwszy-wybor-technikum').prop('required', false);
$('#pierwszy-wybor-branzowa').prop('required', false);
$('.pierwszy-wybor-branzowa').css("display", "none");
$('.pierwszy-wybor-technikum').css("display", "none");
$('.first-row-empty').css("display", "block");
}
});
【问题讨论】:
-
是的,我尝试过,但也没有工作
-
#1 使用
attr()和prop()时要保持一致,它们不是一回事。 #2 检查你的选择器!在 4 个条件中的 3 个中选择 ID 为#pierwszy-wybor-branzowa的元素,在第 1 个条件中选择 ID 为#pierwszy-wybor-branzowa的 select 元素。该元素真的是一个选择标签吗? -
这能回答你的问题吗? stackoverflow.com/a/7264962/2181514
-
如果你使用 attr,那么它是
.attr("required", true)或.attr("required", false)(第二个在 jquery 中有效:jsfiddle.net/2de48tw7/1)。它不应该是.attr("required", "required")- 但它应该没关系,并且可以是false以外的任何东西,因为需要的是一个无值属性。 (所以有效的 HTML 将是<input required>而不是<input required='required'>).removeAttr应该可以正常工作,如果你使用.attr设置它(不是 prop) - 所以可能是你使用了 prop 或者你的选择器错误.
标签: jquery