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 代码是:

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

工作:用户必须在特定时间(在我的选项框中提供)一一选择他们想要在新窗口中打开的复选框。但是无论我是否选中任何一个,它都会像选中所有复选框一样一一执行。

好的,这是打印的实际 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 回答