2012-07-21 1 views
0

jQuery 스크립트는 특정 시간 동안 새 창에서 선택한 상자를 하나씩 엽니 다. 하지만 아무 것도 체크하지 않더라도, 버튼을 클릭하면 모든 상자가 실행됩니다. 너무 혼란 스럽습니다.체크 박스가 선택 항목을 실행하지 않고 모두 실행 함

내 jQuery 코드 :

function bon() 
{ 
    var field = document.getElementsByName('list'); 
    var len = field.length;  
    var j=0; 
    for (i = 0; i < field.length; i++) 
    { 
     lk[j] = document.getElementById('addlink_'+i).value;  
     j++;  
    } 
win = window.open("","myWindow","height=500,width=500,menubar=no,status=no"); 
process(); 
var interval = document.getElementById('interval').value; 
window.setInterval(function(){ process();}, interval);  
} 
function process() 
{ 
     if(oldval<lk.length) 
     { 
       var ln =lk[oldval]; 
       win.location.href =ln; 
       //$.post("updateclick.php",{dbid:recordid},function(data) { document.getElementById(countid).innerHTML = data; });     
       oldval =oldval+1; 
     } 
     else 
     { 
      window.location.href=location.href; 
     } 
} 
function process1(a,b) 
{ 
    if(document.getElementById('chkbox_'+a).checked==true) 
    { 

    } 
    else 
    { 
     thisimg(a,b); 
    } 
} 

그리고 내 HTML 코드는 다음과 같습니다

<select id="interval"> 
    <option value="5000"> 5 Seconds</option> 
    <option value="10000"> 10 Seconds</option> 
    </select> 
    <input class="butn" type="button" value="Collect" onclick="bon()" /> 

작업 :

<div class='posts'> 
    <input style='float:left; height:85px;' type='checkbox' name='list' value='chck_".$counter."' id='chkbox_".$counter."'/> 
    <div class='title box' onclick='process1(".$counter.",".$row['id'].")'> 
     <div style='float:left;' onclick='thisimg(".$counter.",".$row['idDiv1'].")'> 
      <img src='".$imgpath."' height='50' width='50' /> 
     </div> 
     <div class='click' style='float:right;'> 
      <b>Clicks <br/> 
       <div id='count_".$counter."'> ".$click." </div> 
       <input type='hidden' id='addlink_".$counter."' value='".$app_link."' rel='nofollow'/></b> 
     </div> 
     <div style='float:left; width:100px; overflow:hidden; white-space: pre;'> 
      <b> ".$title."</b> 
      <br/>".$beforetime." 
     </div> 
    </div> 
</div> 

이 내 버튼 코드 사용자는 체크를 선택한다 특정 시간 동안 새 창에서 하나씩 열기를 원하는 상자 (내 옵션 상자에서 제공). 하지만 내가 하나를 체크하든 안하든 모든 체크 박스를 선택하는 것처럼 모든 것을 하나씩 실행합니다. 여기에 좋아

나는 매우 혼란 스러워요 도와주세요

<div class=posts> 
    <input style='float:left; height:85px;' type=checkbox name=list value=chck_0 id=chkbox_0 /> 
    <div class='title box' onclick='process1(0,190757)'> 
    <div style='float:left;' onclick='thisimg(0,190757)'> 
     <img src='/images/3c59e768eefb1d5d4a0bfdf0ae23cf5a.png' height=50 width=50 /> 
    </div> 
    <div class=click style='float:right;'><b>Clicks <br/> 
    <div id=count_0> 0 
    </div> 
    <input type=hidden id=addlink_0 value='/link/zqdba3' rel=nofollow></b> 
    </div> 
    <div style='float:left; width:100px; overflow:hidden; white-space: pre;'> <b> Title</b><br/>2 Hs 31 Ms ago 
    </div> 
</div> 
</div> 

을 인쇄 실제 HTML이다.

+0

HTML 코드에 문제가 있습니다. 수정하여 다시 시도하십시오. – totten

+0

HTML이 수정되었지만 여전히 똑같은 문제가 발생했습니다 ... –

+0

코드를 자세히 설명 할 수 있습니까? 체크 상자 중 하나를 클릭하면 하나의 창만 열리길 원하지만 대신 여러 개의 창이 나타납니다. –

답변

0

체크 박스를 보지 않고 모든 addlink_ 입력을 반복합니다. i 번째 확인란을 선택한 경우 해당 입력 요소의 값을 배열에 푸시합니다.

var field = document.getElementsByName('list'); 
var len = field.length;  
lk = []; 
for (i = 0; i < len; i++) { 
    if(field[i].checked) { 
     lk.push(document.getElementById('addlink_'+i).value); 
    } 
} 
+0

질문이 하나 더 있습니다.이 업데이트 스크립트를 클릭하십시오. 각 창을 실행 한 후 클릭을 업데이트하기 위해 선택한 확인란과 어떻게 상호 작용할 수 있습니까?

+0

댓글에 많은 코드가 있다면 별도의 질문을 만들어야 할 것입니다. – Dennis

+0

제발 내가 질문을 다시이 질문에 관련된 모든 것을 게시해야합니다 .. –

관련 문제