使用javascript动态获取复选框值

时间:2014-04-02 12:00:27

标签: javascript php

我们使用以下代码列出了具有电子邮件ID的员工

<tbody>
<?php 
$sqlquery = mysql_query("select * FROM employee");
while($row=mysql_fetch_object($sqlquery)){                                  
?>  
<tr class="gradeA">
<td><input type="checkbox"  name="eid" value="<?php echo $row->emailid;?>" onclick="send_email_form_test()"><?php echo $row->name;?></td>
</tr>   
<?php }?>
</tbody>

在函数调用后单击复选框

 function send_email_form_test(){
var selected = new Array();     
$("input:checkbox[name=eid]:checked").each(function() { 
if($(this).val() !=""){
selected.push($(this).val());
}       
});

alert(selected.join(','));
var final_email = selected.join(',');
document.getElementById("to").value =final_email;
}
单击复选框后,电子邮件ID将显示在“to”textarea字段中。当我将转到员工列表的第二页时,我无法获取“到”textarea字段,它将在第二页上清空< / p>
   <div>
<label for="required">TO</label>
<textarea name="to"  cols="5" rows="10"></textarea> 
</div>

<div>
<label for="email">Subject</label>
<input type="text"  size="80" id="subject" name="subject" >
<input type="submit" name="submit" value="submit">
</div>

当我点击复选框时,如何添加和删除逗号分隔的电子邮件ID。我有什么问题,我将在分页的下一页上进行

2 个答案:

答案 0 :(得分:0)

您可以将'this'参数添加到Javascript函数中,如onclick =“send_email_form_test(this)”&gt;然后你会得到点击的复选框对象。然后,您将能够检索单击的复选框的值

答案 1 :(得分:0)

我没有测试它,但我认为这是你可以从所有页面收集电子邮件的方式

<?php
    //...
    echo '<script>window.tablePage = ', $paginator->currentPage, ';</script>';
 ?>

<script type="application/javascript">
 //...
 pageSelected = selected.join(',');

 //get emails selected on other pages
 allSelected = JSON.parse(localStorage.getItem('emails'));

 //add currently selected emails
 allSelected[tablePage] = pageSelected;
 localStorage.setItem('emails', JSON.stringify(allSelected));

 //output emails from all pages
 document.getElementById("to").value = allSelected.join(',');
 //...
</script>

(JSON库在这里:https://github.com/douglascrockford/JSON-js/blob/master/json2.js