如何检查特定div下的特定文本框是否为空

时间:2014-12-16 14:48:07

标签: javascript jquery

我有这段代码:

<PlaceHolder>
<div class="greenDiv">
  <asp:TextBox ID="a"  runat="server" />
</div>
<div  class="greenDiv">
  <asp:TextBox ID="ab" runat="server" />
</div>
</PlaceHolder>

我需要让用户知道他是否将文本框留空了,我尝试了类似的东西..(不工作)我错过了什么?

 $('.greenDiv > input:text').blur(function () {
   if (!$(this).val()) {
     alert("fill this field");
   }
 });

5 个答案:

答案 0 :(得分:4)

尝试使用input[type=text]代替

$('.greenDiv>input[type=text]').blur(function () {
    if (!$.trim($(this).val())) {
        alert("fill this field");
    }
});

答案 1 :(得分:3)

$('.greenDiv > input[type=text]').on('blur', function (e) {
  if (!$(e.currentTarget).val()) alert('fill this field');
});

答案 2 :(得分:1)

而不是input:text,您应该使用input[type=text]

$('.greenDiv>input[type=text]').on("blur",function () {
                if (!$(this).val()) {
                    alert("fill this field");
                }
            });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="greenDiv">
  <input type="text">
</div>
<div class="greenDiv">
  <input type="text">
 
</div>

答案 3 :(得分:1)

试试这个

    <PlaceHolder>
<div class="greenDiv">
  <asp:TextBox ID="a" class="x"  runat="server" />
</div>
<div  class="greenDiv">
  <asp:TextBox ID="ab" class="x" runat="server" />
</div>
</PlaceHolder>
下面的

是Jquery

 $('.greenDiv .x').blur(function () {
                if (!$(this).val()) {
                    alert("fill this field");
                }
            });

答案 4 :(得分:1)

试试这个:

$('.greenDiv > input:text').blur(function () {
    if ($.trim($(this).val()) === '') {
        alert("fill this field");
    }
});

你的选择器很好。当您使用!$(this).val()时,您允许带有空格(或任何其他不可见字符)的输入通过。具有单个空格的输入在技术上不是空的。请改为$.trim(something) === ''