2017-09-22 1 views
0

다음과 같이 루프를 사용하여 몇 가지 textbox을 삽입했습니다.루프에서 jQuery의 변수 이름을 늘리는 방법

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

$('#txtchkbox' + i + ')

당신은 속성을 사용할 수 있습니다

에서 작은 따옴표를 후행에 구문 오류가 있습니다 id 확인하기 "txtTimeIn", 또는 "txtchkbox", .is()로 시작하는 모든 요소를 ​​선택하는 선택과 시작이다 일치하는 요소 중 하나는 빈 문자열을하다 ""

function checkempty() { 
 
    if ($("[id^=txtTimeIn], [id^=txtchkbox]").is(function() { 
 
    return this.value === ""; 
 
    })) { 
 
    alert('Forgot to insert time '); 
 
    } 
 
} 
 

 
$("[id^=txtTimeIn], [id^=txtchkbox]").on("keyup", checkempty)
<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">

+0

안녕하십니까. 빠른 답장을 보내 주셔서 감사합니다. 실제로 txtTimeIn1, txtTime2, txtChkbox1 등의 행이 있습니다. 나는 txtChkbox가 체크 된 것만 확인하고 싶다. 그렇게하는 방법? –

+0

선택자''[id^= txtChkbox]''를 사용할 수 있습니다. – guest271314

0

나는이

if($('#txtTimeIn' + i).val() == '' OR $('#txtTimeOut' + i).val() == ''){ 

당신이 원하지 않는 공간

.val().trim() 
0

을 정리하기 위해 모든 .val()에 트림()를 사용할 수 있어야합니다 당신이 여기

if($('#txtTimeIn' + i + ').val() == '' OR $('#txtTimeOut' + i + ').val() == ''){ 

오류가 있다고 생각 모든 if 문에 작은 따옴표가 있습니다.

당신은 또한 length

$('#txtchkbox' + i).val().trim().length

.trim를 확인할 수 있습니다

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 '); 
     } 
    } 
    } 
} 

변화는 시작 또는 후행의 공백을 제거합니다.

0

if 문을 아래 코드로 각각 바꿉니다.

경우 ($ ('#의 txtchkbox'+ I) .val()! = '')

경우 ($ ('# txtTimeIn'+ I) .val() == 'OR $ ('#txtTimeOut'+ i) .val() == ')

요소 ID 문자열이 i에서 이미 완료되었으므로 i 뒤에 작은 따옴표를 연결할 필요가 없습니다. 더욱이, 연결이 시작되면 완료되어야합니다. 의 .value