我有html表见下面我的html表,如果用户点击标题中的图像,它将不会重定向它显示警告“请取消选中所有复选框”,如果用户取消选中所有复选框,则只重定向.my问题是它现在重定向,因为第一个td未选中,如果第一个td检查它显示警告,它只接受第一个td我想要所有td。可以任何一个指南。请看我的代码下面
AJAX
<script>
$(document).ready(function() {
$("#redirect").click(function() {
var chkBox=$("#checkAddress");
if (chkBox.attr('checked') != 'checked')
{
var clientid=document.getElementById("client").value;
$.blockUI(
{
message: '<h2>Please wait...</h2><img src="/image/loader.gif" />',
timeout: 2000
});
$.ajax({
type:"post",
data:"clientid="+clientid,
success:function(data){
window.location = '?action=clientpricenotification&clientid='+clientid+'';
$("#result").html(data);
$('.blockUI').hide();
}
});
}
else
{
alert("Please uncheck all the td");
}
});
});
</script>
HTML
<th style="text-align:center ;width:200px">Route Update</th>
<th style="text-align:center ;width:90px">By(Emp)</th>
<th style="text-align:center ; width:32px"> <img id='redirect' src="/image/Picture12.png" style="margin:0px;cursor:pointer;"> </th>
echo ' <td style="width:200px" id="CPH_GridView1_Status1'.$rows['id'].'" class="route status1 '.$rows["id"].' "><input type="checkbox" style="margin:0 0 0 93px;" id="checkAddress" '.$checked_value.' name="checkAddress" '.$checked_value.' ></td>
<td id="CPH_GridView1_user" style="width:90px" class="edit user '.$rows["id"].'">'.$rows["user"].'</td>
<td style="width:65px" class=" '.$rows["id"].'"></td>';
答案 0 :(得分:1)
这会在所有复选框上收听change()
事件,因此当它找到0时,会重定向。
var $checkbox = $("input[type=checkbox]");
var url = "http://.....";
$checkbox.change(function(){
if( $checkbox.is(":checked").length == 0 ) { window.location=url; }
});
您应该知道如何将其应用到您的代码中。
答案 1 :(得分:0)
使用document.getElementByTagname(“input”)..它将返回所有输入标签的列表,你必须循环遍历列表以检查每个复选框。现在你只检查你的第一个复选框...
var allInputs = document.getElementsByTagName("input");
for (var i = 0, max = allInputs.length; i < max; i++){
if (allInputs[i].type === 'checkbox')
if (allInputs[i].attr('checked') != 'checked'){
//your logic
}
}
答案 2 :(得分:0)
首先,您应将所有输入的ID定义为:
id="checkAddress_{anythingunique}"
然后
<script>
var redir=1;
$('input[id^="checkAddress_"]').each(function(){
if(!$(this).attr('checked'))redire=0;
});
if(redir==1){
//do your action
}
</script>