首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery验证div不是空的。

使用jquery验证div不是空的。
EN

Stack Overflow用户
提问于 2015-05-08 14:21:34
回答 3查看 874关注 0票数 1

我需要验证“当前图像”字段集中的文本输入、.search-results div和下拉选择都不是空的。我有文本输入和下拉工作的逻辑,但不知道为什么空的div逻辑不能工作:

代码语言:javascript
复制
<div class="input-group col-md-6">
<input type="text" class="form-control" placeholder="Search by Asset ID" maxlength="64" class="form-control" id="imageid" name="imageid"> <span class="input-group-btn">
<button class="btn btn-default image-search" type="button">Search</button>
</span>
</div>
<fieldset class="scheduler-border">
    <legend class="scheduler-border">Current Images</legend>
    <div class="scheduler-broder">
        <div class="search-results"></div>
    </div>
</fieldset>
</div>
<div class="form-group">
    <label for="image">Select Asset Type:</label>
    <select id='crop' class="btn btn-default" data-toggle="dropdown">
        <option value="default">Choose Type</option>
        <option value="now">Now</option>
        <option value="livefeeds">Live Feeds</option>
    </select>
</div>
<div class="form-group">
    <label for="imageid">Select an image</label>
    <input type="file" name="file" class="btn btn-default form-control" id="file" accept="image/jpg, image/png, image/jpeg" />
</div>


    function checkForInputs() {
    var filledUp = $("#imageid").val() != '' && $("#crop").val() != "default" && $(".search-results").val() != '';
    if (!filledUp) {
        $("#file").attr("disabled", true);
    } else if (filledUp) {
        $("#file").attr("disabled", false);
    }
    }
    $("#imageid").keyup(function () {
        checkForInputs();
    });
    $("#crop").change(function () {
        checkForInputs();
    });

    checkForInputs();

JSfiddle:链接

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-08 14:28:44

方法.val(),如它在jquery网站上描述的那样:

获取匹配元素集中第一个元素的当前值,或设置每个匹配元素的值。

您应该使用.text()而不是.val()

在这种情况下,您的验证应该是

代码语言:javascript
复制
var filledUp = $("#imageid").val() != '' && $("#crop").val() != "default" && $(".search-results").text() != '';

所以这个小提琴起作用了

票数 1
EN

Stack Overflow用户

发布于 2015-05-08 14:27:29

使用$(".search-results").text()而不是$(".search-results").val()

对不属于表单的所有元素(如divspanp等)也这样做。

看一看文档:http://api.jquery.com/val/

票数 2
EN

Stack Overflow用户

发布于 2015-05-08 14:35:15

您可以使用

代码语言:javascript
复制
if($('#mydiv').html().length() == 0)
{
  //do something
}

这是用来比较空值的。

完成此任务的其他方法是与函数“子”进行比较,例如。

代码语言:javascript
复制
if($('.search-results').children.length == 0)
{
  //  dosomething
}

祝你好运!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30126135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档