我使用循环插入一些textbox
如下。
txtTimeIn1 txtTimeIn1 txtchkbox1
txtTimeIn2 txtTimeIn2 txtchkbox2
txtTimeIn3 txtTimeIn3 txtchkbox3
txtTimeIn4 txtTimeIn4 txtchkbox4
我想检查txtTimeIn或txtTimeOut是否为空。因此,我在所有txtchkbox中运行一个循环,当它被选中时,我将检查txtTimeIn或txtTimeOut是否为空。如果是这样我会提示用户。我遇到的问题是语法请帮忙。我有以下代码。
function checkempty() {
for (i = 1; i <= 10; i++) {
if($('#txtchkbox' + i + ').val() != ''){
if($('#txtTimeIn' + i + ').val() == '' OR $('#txtTimeOut' + i + ').val() == ''){
alert('Forgot to insert time ');
}
}
}
}
$('#txtchkbox' + i + ').val() != ''
这部分不确定怎么写?
答案 0 :(得分:0)
我认为你这里有错误
if($('#txtTimeIn' + i + ').val() == '' OR $('#txtTimeOut' + i + ').val() == ''){
这应该是
if($('#txtTimeIn' + i).val() == '' OR $('#txtTimeOut' + i).val() == ''){
您还可以在每个.val()
上使用trim()来清理不需要的空格
.val().trim()
答案 1 :(得分:0)
在所有if语句中都有一个额外的单引号
function checkempty() {
for (i = 1; i <= 10; i++) {
if($('#txtchkbox' + i + ').val() != ''){
if($('#txtTimeIn' + i + ').val() == '' OR $('#txtTimeOut' + i + ').val() == ''){
alert('Forgot to insert time ');
}
}
}
}
将其更改为
function checkempty() {
for (i = 1; i <= 10; i++) {
if($('#txtchkbox' + i).val() != ''){
if($('#txtTimeIn' + i).val() == '' OR $('#txtTimeOut' + i).val() == ''){
alert('Forgot to insert time ');
}
}
}
}
您还可以查看length
$('#txtchkbox' + i).val().trim().length
.trim
将从开头或尾随删除空格。
答案 2 :(得分:0)
分别用以下代码替换if语句。
if($(&#39;#txtchkbox&#39; + i).val()!=&#39;&#39;)
if($(&#39; #txtTimeIn&#39; + i).val()==&#39;&#39; OR $(&#39;#txtTimeOut&#39; + i).val ()==&#39;&#39;)
在i之后,由于元素ID字符串已经完成,因此您不需要单引号连接。此外,如果任何连接开始,它也应该完成。
答案 3 :(得分:0)
在
处跟踪单引号时出现语法错误 $('#txtchkbox' + i + ')
您可以使用属性开头的选择器来选择id
以"txtTimeIn"
开头的所有元素,或"txtchkbox"
,.is()
来检查.value
的{{1}}任何匹配的元素都是空字符串""
function checkempty() {
if ($("[id^=txtTimeIn], [id^=txtchkbox]").is(function() {
return this.value === "";
})) {
alert('Forgot to insert time ');
}
}
$("[id^=txtTimeIn], [id^=txtchkbox]").on("keyup", checkempty)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<input type="text" id="txtTimeIn1">
<input type="text" id="txtchkbox1">
<input type="text" id="txtTimeIn2">
<input type="text" id="txtchkbox2">
&#13;