【问题标题】:Jquery required prop not adding and not removing requiredJquery required prop 不添加也不删除 required
【发布时间】: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


【解决方案1】:

应该是真还是假

试试这个

    $('select#pierwszy-wybor-technikum').attr('required',true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2021-06-15
    • 2015-04-20
    • 2016-02-16
    • 1970-01-01
    相关资源
    最近更新 更多