Javascript jQuery在remove()之后检查是否存在输入
我有一个表单,其中用户应该选择预定义的数据,在名为Javascript jQuery在remove()之后检查是否存在输入,javascript,jquery,input,Javascript,Jquery,Input,我有一个表单,其中用户应该选择预定义的数据,在名为xxx的输入字段中添加新数据,然后他/她可以继续 选择预定义数据后,将创建新的隐藏输入 $('.selectlists')。追加('') 我有一个函数,它检查隐藏字段是否存在,以及输入xxx是否有任何值 function checkAll(){ if( $("input[name*='select']") ){ alert('ok'); } else{
xxx
的输入字段中添加新数据,然后他/她可以继续
选择预定义数据后,将创建新的隐藏输入
$('.selectlists')。追加('')
我有一个函数,它检查隐藏字段是否存在,以及输入xxx
是否有任何值
function checkAll(){
if( $("input[name*='select']") ){
alert('ok');
}
else{
if ( $("input[name*='xxx']").val() != '') {
alert('ok');
}
}
}
该功能运行良好。但是如果我创建隐藏输入,然后使用jQuery的函数remove()
将其删除,那么我的函数checkAll()
显示隐藏输入仍然存在
if($("input[name*='select']")) ...
应该检查长度
if( $("input[name*='select']").length > 0)
JQuery返回匹配元素的数组
应该检查长度
if( $("input[name*='select']").length > 0)
JQuery返回一个匹配元素的数组。您可以像
$('.selectlists')。追加('')
对吧?
$('.selectlists input[name="select"]').remove();
尝试checkAll
方法:
if( $(".selectlists input[name='select']") ){
alert('ok');
}
或
您可以像这样创建输入
$('.selectlists')。追加('')
对吧?
$('.selectlists input[name="select"]').remove();
尝试checkAll
方法:
if( $(".selectlists input[name='select']") ){
alert('ok');
}
或
使用
length
属性测试是否存在某个元素,因为函数$()
返回一个对象数组,在javascript中,所有数组的计算结果都为true,即使它们为空也是如此
if( $("input[name*='select']").length ){
alert('ok');
}
这样,如果没有
输入[name*='select']
,长度将为零,表达式的计算结果将为false。使用length
属性测试是否存在某个元素,因为函数$()
返回一个对象数组,在javascript中,所有数组的计算结果都为true,即使它们为空,事实就是这样
if( $("input[name*='select']").length ){
alert('ok');
}
这样,如果没有
输入[name*='select']
长度将为零,表达式将计算为false。当输入字段不存在时,由于
$("input[name*='xxx']").val()
将返回“未定义”且与空字符串不匹配
您可以通过检查jQuery对象是否返回任何命中或检查“undefined”来检查元素是否存在
这两种方法中的任何一种都应该有效:
typeof $('input[name=xxx]').val() === 'undefined'
或
我更喜欢选择2。因为它似乎对jQuery中的更改更加健壮。当输入字段不存在时,您的检查将显示一个带有“ok”的警告框,因为
$("input[name*='xxx']").val()
function isexists(){
var hiddenLen = $(".selectlists input[name*='select']:hidden").length,
hasval = $.trim( $("input[name*='xxx']").val() ).length;
return {
hiddedexists: !len,
hasval : !hasval
};
}
将返回“未定义”且与空字符串不匹配
您可以通过检查jQuery对象是否返回任何命中或检查“undefined”来检查元素是否存在
这两种方法中的任何一种都应该有效:
typeof $('input[name=xxx]').val() === 'undefined'
或
我更喜欢选择2。因为它似乎对jQuery中的更改更加健壮
function isexists(){
var hiddenLen = $(".selectlists input[name*='select']:hidden").length,
hasval = $.trim( $("input[name*='xxx']").val() ).length;
return {
hiddedexists: !len,
hasval : !hasval
};
}
您可以像这样使用此功能:
var exists = isexists();
exists.hiddenexists; // true of false
exists.hasval; // true of false
笔记
!如果len=0
elsefalse
,len
将给出true
您可以像这样使用此功能:
var exists = isexists();
exists.hiddenexists; // true of false
exists.hasval; // true of false
笔记
!len
将给出true
如果len=0
否则false
您可以试试这个
if( jQuery("*[name='select']") ){
alert('ok');
}
你可以试试这个
if( jQuery("*[name='select']") ){
alert('ok');
}
如果($($input[name='select'].length)OK,那肯定是我问题的解决方案。我仍然想知道为什么这个函数显示输入的存在。$(“…”)从不返回null或未定义,如果没有任何值,它将返回空数组。因此,如果不检查长度,您的条件将始终为真。(“input[name*='select'])或(“input[name='select'])都返回一个数组。因此,即使没有元素,这也将返回一个空数组。因此,我们必须检查数组的长度。希望你能理解。我的英语不是很好。但有趣的是,这个函数一直工作到
select
input被创建为止。关于if($(($input[name='select'].length))好的,这绝对是我问题的解决方案。我仍然想知道为什么这个函数显示输入的存在。$(“…”)从不返回null或未定义,如果没有任何值,它将返回空数组。因此,如果不检查长度,您的条件将始终为真。(“input[name*='select'])或(“input[name='select'])都返回一个数组。因此,即使没有元素,这也将返回一个空数组。因此,我们必须检查数组的长度。希望你能理解。我的英语不是很好。但有趣的是,该函数一直工作到创建select
输入