1

我有以下代码不起作用。

var book_id = $('#indexBookSearch');
var tag_id  = $('#indexTagSearch');

if((book_id.val() == "") || (tag_id.val() == ""))
{
    $('#userMessages').html('<div class="alert alert-info">'+
        '<button type="button" class="close" data-dismiss="alert">&times;'+
        '</button>'+
        '<strong>Information ! </strong> Please select search criteria first.'+
    '</div>');
    return false;
}

if((book_id.val() == "") || (tag_id.val() == ""))即使任何一个字段value在其中,这条线也不起作用。

两者都是,Book我已经检查了它们的使用价值,并且它完美无缺。Tagselect boxconsole.log()

我也变了

if((book_id.val() == "") || (tag_id.val() == ""))

if(book_id.val() == "" || tag_id.val() == "")

编辑

HTML 表格

<form id="indexSearchForm" action="books/listTags" method="POST">
    <fieldset>
        <legend>Search Criteria</legend>

        <label>Select Book</label>
        <select class="input-large" name="book_id" id="indexBookSearch">
            <option value="">--Select--</option>
            <option value="109">book 1</option>
        </select>

        <label>Select Tag</label>
        <select class="input-large" name="tag_id" id="indexTagSearch">
            <option value="">--Select--</option>
            <option value="10">adding</option>
            <option value="1">Apples</option>
            <option value="39">article</option>
            <option value="34">bhg</option>
            <option value="40">boon</option>
        </select>       
        <button class="btn btn-primary" type="submit">Submit</button>
    </fieldset>
</form>

jQuery 代码

$('#indexSearchForm').submit(function(e)
{
    e.preventDefault();

    var book_id = $('#indexBookSearch');
    var tag_id  = $('#indexTagSearch');

    if( !book_id.val() || !tag_id.val())
    {
        $('#userMessages').html('<div class="alert alert-info">'+
            '<button type="button" class="close" data-dismiss="alert">&times;</button>'+
            '<strong>Information ! </strong> Please select search criteria first.'+
        '</div>');
        return false;
    }
    // more process
});

谢谢。

4

4 回答 4

2

您需要对字符串使用 === 运算符...

if((book_id.val() === "") || (tag_id.val() === ""))

你也可以这样做...

if((book_id.val().charAt(0))||(tag_id.val().charAt(0)) {

//stuff if true - if either has a value
//Do whatever you want here, submit the form, navigate away, database...etc

} else {

//return error
$('#userMessages').html('<div class="alert alert-info">'+
    '<button type="button" class="close" data-dismiss="alert">&times;'+
    '</button>'+
    '<strong>Information ! </strong> Please select search criteria first.'+
'</div>');
return false;

}

像这样...

于 2013-06-26T05:25:06.180 回答
0

关于什么:

if( !book_id.val().length || !tag_id.val().length )

编辑 再看一遍,如果两者都没有填写,警告他们——这是一个和声明:

if( !book_id.val().length && !tag_id.val().length )
于 2013-06-26T05:25:25.743 回答
0

试试这个empty

if( empty(book_id.val()) || empty(tag_id.val()) )

或者BETTER也可以尝试使用.lengthlike

if ( (book_id.val().length != 0 ) || (tag_id.val().length != 0 ))

您可以trim用于删除空格可以说修剪

于 2013-06-26T05:32:09.280 回答
0

尝试修剪你的价值,它可能包含价值。工作小提琴

if ((book_id.val().trim() === "") || (tag_id.val().trim() === "")) {
    alert('true');
}
于 2013-06-26T05:32:56.940 回答