大家好,我正在研究我下载的插件的代码,目的是根据用户的选择隐藏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进行了多种尝试,已从我感兴趣的字段中删除了必需的属性,但尝试失败。
我该怎么办?
答案 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')
吗?
这应该有效。