Woocommerce-jQuery |根据选择字段中的选择,从某些结帐输入字段中删除所需的属性

时间:2020-01-03 12:40:32

标签: jquery wordpress woocommerce

大家好,我正在研究我下载的插件的代码,目的是根据用户的选择隐藏Woocommerce结算结帐表单的某些字段,创建此插件的开发人员已实现一个名为billing_invoice_type的可选字段,然后是一个if循环,它允许在此字段等于某个值时必须生成某种东西的各种可能性,这时我已经实现了能够隐藏的指令我感兴趣的领域:

var wcpdf_IT;
function wcpdf_IT_billing_customer_type_change(wcpdf_IT_country_selected) {
    jQuery("#billing_cf_field label").html(wcpdf_IT.lblCommon);
    jQuery("#billing_cf").attr("placeholder", wcpdf_IT.txtCommon);
    if(jQuery("#billing_invoice_type").val() === "receipt" ) {

        // RIMUOVI LABEL E CAMPO INPUT | NOME DELLA SOCIETÀ
        jQuery("#billing_company_field ").hide();

        // RIMUOVI LABEL E CAMPO INPUT | CAP
        jQuery("#billing_postcode_field ").hide();

        // RIMUOVI LABEL E CAMPO INPUT | INDIRIZZO
        jQuery("#billing_address_1_field ").hide();

        // RIMUOVI LABEL E CAMPO INPUT | APPARTAMENTO / SUITE
        jQuery("#billing_address_2_field ").hide();

        // RIMUOVI LABEL E CAMPO INPUT | CITTÀ
        jQuery("#billing_city_field ").show();
        $('#billing_city').removeClass('woocommerce-invalid woocommerce-invalid-required-field');


        // RIMUOVI LABEL E CAMPO INPUT | PROVINCIA
        jQuery("#billing_state_field ").hide();


        jQuery("#billing_cf_field label").html(wcpdf_IT.lblPersonal);
        jQuery("#billing_cf").attr("placeholder", wcpdf_IT.txtPersonal);
    }
    wcpdf_IT_check_PEC();
}

但是,现在的问题不仅是使它们显示或隐藏,而且这些默认字段是必需的类型,因此用户在编译阶段看不到它们,而是在完成编译时出现错误之所以显示在显示屏上,是因为他必须填写隐藏的字段,所以我必须删除必需的属性。

我通过Jquery进行了多种尝试,已从我感兴趣的字段中删除了必需的属性,但尝试失败。

我该怎么办?

2 个答案:

答案 0 :(得分:2)

我不确定这是否适合您的情况,但是您可以尝试一下 RIMUOVI LABEL E CAMPO输入| NOME DELLASOCIETÀ

jQuery("#billing_company_field").hide(function(){

    jQuery(this).removeClass("validate-required");
    jQuery(this).removeClass("woocommerce-validated");
    jQuery('#billing_company').val("no");

});

答案 1 :(得分:0)

您尝试过$('your_elem').removeAttr('required')吗?

这应该有效。