我想用随机数填充所有空数字段。我可以使用随机数填充所有字段,如下所示。

    $.each(numberField, function () {
        x = Math.floor((Math.random() * 10) + 1);
        ($(this).val(x));
    });


但是,如果我尝试将其包裹在

    if (numberField.val() === "")


没用

我在这里做错了什么? see fiddle

    <input type="number" value="0">
    <input type="number" value="">
    <input type="number" value="4">
    <input type="number" value="5">
    <input type="number" value="">

    var numberField = $('input[type=number]');
    var x = '';
    if (numberField.val() === "") {
        $.each(numberField, function () {
            x = Math.floor((Math.random() * 10) + 1);
            ($(this).val(x));
        });
    }

最佳答案

您需要移动条件(您正在查看数组是否等于“”,但情况并非如此)。您还需要修剪该值以检查其是否为空:

var numberField = $('input[type=number]');
var x = '';

$.each(numberField, function () {
    if ($.trim($(this).val()) === "") {
        x = Math.floor((Math.random() * 10) + 1);
        ($(this).val(x));
    }
});

10-06 08:05