如何在没有提交按钮的情况下选中复选框名称

时间:2014-05-29 06:12:50

标签: javascript php jquery html checkbox

我的代码就在那里,

while($row = mysql_fetch_array($query2)) 
{
echo "<tr>";
$ids = $row['list_id'];
echo "<td><input type='checkbox' name='checkbox[]' value=" . $ids . "></td>";
echo "<td>" . $ids . "</td>";
echo "<td>" . $row['list_name'] . "</td>";
echo "<td>" . $row['campaign_id'] . "</td>";
echo "<td>" . $row['list_description'] . "</td>";
echo "<td>" . $row['list_changedate'] . "</td>";
echo "<td>" . $row['list_lastcalldate'] . "</td>";
echo "<td>" . $row['reset_time'] . "</td>";
echo "</tr>";
}

<a href="import.php"><input type="button" value="Import Leads to List"></a>

我想在单击按钮时传递URL上的已选中复选框值。 像这样,

Http://localhost/test/import.php?id=1234

如果检查了多个复选框,我想打印错误信息或警告框,如

Please Select any one List ID!

请帮帮我.. 谢谢

3 个答案:

答案 0 :(得分:5)

1)id='checkbox'更改为有效class='checkbox' 编辑:添加class='checkbox';

2)使用jQuery函数检查已选中的复选框cound并获取名称:

$('button').click(function(){
    if ($('.checkbox:checked').length !== 1) {
       alert("Please Select any one List ID!");
    } else {
        *var url = window.location.href + '?id=' + $('.checkbox:checked').eq(0).attr('name');*
         **EDIT**:
         var url = window.location.href + '?id=' + $('.checkbox:checked').eq(0).val();
         $('a').attr('href', url);
    }
});

编辑“如果我有多个按钮怎么办”:

<a href='index.php?id=<?php echo $ids; ?>'><button>Import to List</button></a>替换循环中的复选框,不需要js操作。

更改复选框:<td><input type='checkbox' onClick='changeUrl(this)' data-link-id='UniqueIdOfLink',而不是$('button').click制作功能:

function changeUrl(e) {
    $('#' + $(e).data('link-id')).attr('href', 'index.php?id=' + $(e).val());
}

答案 1 :(得分:2)

首先,正如其他人所说,使用radiobutton而不是复选框,以便用户只能选择一个。由于您尚未发布HTML代码,因此我只能为您提供一个粗略的方案: (我使用原生JS,但你可以在jQuery中使用它)

PHP + HTML:

<form action="" name="name_of_form">
while($row = mysql_fetch_array($query2)) {
   echo "<tr>";
   $ids = $row['list_id'];
   echo "<td><input type='radio' name='radio[]' onclick='setURL(this.value)' value=".$ids."></td>";
   echo "<td>" . $ids . "</td>";
   echo "<td>" . $row['list_name'] . "</td>";
   echo "<td>" . $row['campaign_id'] . "</td>";
   echo "<td>" . $row['list_description'] . "</td>";
   echo "<td>" . $row['list_changedate'] . "</td>";
   echo "<td>" . $row['list_lastcalldate'] . "</td>";
   echo "<td>" . $row['reset_time'] . "</td>";
   echo "</tr>";
}
?>
<input type="submit" value='Import Leads to List'/>
</form>

javascript:

function setURL(id){
     document.name_of_form.action="Http://localhost/test/import.php?id="+id;
}

请注意,如果您使用表单,则无需手动绕过网址,您只需使用$ _POST。

答案 2 :(得分:0)

$(document).ready( function () {

$('button').click(function(){

var dea = $("input[type='checkbox']").attr('value');
    window.location.href = 'http://localhost/test/import.php?id='+dea;
});

});

如果您想一次只选择一个选项,则可以使用单选按钮。