jQuery:在所有空文本框中放置一个默认值

Jul*_*lle 3 jquery

Textbox <input type="text">在这个问题中引用.

对于具有给定类的每个文本框,我想检查值是否等于'',如果是,我想要创建值'0'.我想在页面加载后立即执行此操作.

这是我现在最接近的:

$(document).ready(function() {
  if ($('.myclass').val() == '') $('.myclass').val('0');
})
Run Code Online (Sandbox Code Playgroud)

这里的问题是,只要其中一个为空,此代码就会给我的所有文本框(带class="myclass")值'0'.我知道这是我现在使用的代码所期望的行为,但我对jQuery很新,我还没有真正掌握选择器.我该如何解决这个问题?我是否需要创建一个单独的函数来检查一个元素,然后为每个应用于选择器的元素调用它?如果是这样,我该怎么做?

And*_*y E 8

在jQuery 1.4中,函数可以传递val(),该函数将在集合中的所有元素上执行:

$(document).ready(function() {
  $('.myclass').val(function (index, value) {
    // If the element has a value, return it, else return "0"
    return value || "0";
  });
});
Run Code Online (Sandbox Code Playgroud)

对于早于jQuery 1.4的版本,您需要在集合上使用.each():

$(document).ready(function() {
    $('.myclass').each(function() {
        this.value = this.value || "0";
    });
});
Run Code Online (Sandbox Code Playgroud)