jQuery .val()总是返回true,即使是false

时间:2014-09-08 05:23:41

标签: javascript jquery

我正在尝试根据表单中输入的值来做一个布尔值,但我始终以trueundefined结束。我哪里出错了,我怎么做到这一点?

name=locations的值如果没有位置,则为'',或者为['SFO','SJO','LA']等json数组。

<form id="locale">
    <input name="locations[]" value=''/>
</form>

if($("#locale input[name=locations]").val() !== '') {
    alert ($("#locale input[name=locations]").val());
} else {
    alert ('No locations for this item!');
}

3 个答案:

答案 0 :(得分:2)

输入的名称为locations[]而不是locations

$('#locale input[name="locations[]"]').val()

所以

var value = $('#locale input[name="locations[]"]').val();
if (value !== '') {
    alert(value);
} else {
    alert('No locations for this item!');
}

答案 1 :(得分:2)

删除括号是输入名称是PHP的行为。就客户端和前端而言,如果输入名称有括号,则输入名称有括号。

if($("#locale input[name='locations[]']").val() !== '') {

答案 2 :(得分:0)

您可以使用匹配的开头:[name^=locations]