0

選択したボックスを新しいウィンドウで特定の時間に1つずつ開く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コードは次のとおりです。

<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>

これは私のボタンコードです:

<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()" />

動作中:ユーザーは、特定の時間に新しいウィンドウで開くチェックボックスを1つずつ選択する必要があります(オプションボックスに表示されます)。しかし、私がいずれかをチェックするかどうかにかかわらず、すべてのチェックボックスを選択するように、すべてを1つずつ実行します。

これが実際に印刷されるHTMLです

<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>

私が非常に混乱しているのを助けてください。

4

1 に答える 1

0

チェックボックスを見ずに、すべての入力を繰り返してaddlink_います。ithチェックボックスがオンになっている場合は、対応する入力要素の値を配列にプッシュします。

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);
    }
}
于 2012-07-22T20:19:02.080 に答える