我的代码就在那里,
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!
请帮帮我.. 谢谢
答案 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;
});
});
如果您想一次只选择一个选项,则可以使用单选按钮。