繁体   English   中英

无法检查输入是否有价值

[英]Can not check if input has value or not

我想遍历id数组并检查value是否存在,并在下面做一些代码:

function checkBillingFields() {

var inputIDS = [ "#billing_first_name", "#billing_last_name", "#billing_company", "#billing_phone", "#billing_address_1", "#billing_address_2", "#billing_city", "#billing_city"];

var arrayLength = inputIDS.length;

for (var i = 0; i < arrayLength; i++) {

    console.log(inputIDS[i]);

    if ($("inputIDS[i]").val().length == 0){

        $('.woocommerce-billing-fields__field-wrapper').appendTo('.billing-fields');

        $(".billing-heading").css({'margin-top': '100px'});

    }else{
        $(".expand-billing").css({'display': 'none'});
    }

}

}

checkBillingFields();

我收到错误消息无法读取未定义的属性“长度”。 我使用本地存储来存储输入,并且经过了良好的测试。

在我进行研究并尝试解决该问题时,任何想法都很有帮助,但没有任何效果。

将if语句替换为

if ($(inputIDS[i]).val().length == 0)

这将直接将jQuery与数组中的值一起使用,而不是与您的情况中所使用的字符串文字一起使用。

要真正确保您不再遇到任何错误,请按照以下步骤进行操作

//First check if element actually exists in DOM
var tmp = $(inputIDS[i]);
if (tmp.length == 1 && tmp.val().length == 0) {

}

就像console.log()if语句中使用一样

console.log(inputIDS[i]); 
if ($(inputIDS[i]).val().length == 0){

inputIDS[i] //如果i = 0,则返回#billing_first_name
"inputIDS[i]"将返回"inputIDS[i]"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM