1. 程式人生 > >jquery 行點選觸發 checkbox 加上 checkbox本身觸發導致的問題

jquery 行點選觸發 checkbox 加上 checkbox本身觸發導致的問題

效果:點選 tabel 的任意一行的任意一個位置,實現 選擇 左側的複選框

今天在實現這個效果的時候遇到了一個小問題,點選行的時候可以實現複選框的選擇與取消,但是直接點選複選框的時候無效。

程式碼:

<tr class='trcls' onclick='danjitr(this)' style='background-color:#FFFFFF;height=23px;'>
function danjitr(a){
    var input = $(a).find("input");
    if ($(input).attr("checked")) {
        $(input).removeAttr("checked");
    }
    else
    {
        $("#tdClassInfo tr").find("input").each(function () {
            $(this).removeAttr("checked");
        });
        $(input).attr("checked", true);
    }
}

原因是:點選複選框的時候,複選框本身會改變狀態,接著行點選事件的執行,又把複選框的狀態給改回來了,等於沒點!!

解決辦法:我又在每一行的複選框上又加了一個點選事件

<td><input onclick='danjitd(this)' type='checkbox' value="+ad_id+" name='psimg'></td>
function danjitd(a){
    var zt = a.checked;
    //只要複選框被點了,我就把它再改回來  這個方法執行完後,就會執行行點選事件danjitr
    if (zt){
        $(a).attr("checked", false);
    }else {
        $(a).attr("checked", true);
    }
}

相關推薦

jquery 觸發 checkbox 加上 checkbox本身觸發導致的問題

效果:點選 tabel 的任意一行的任意一個位置,實現 選擇 左側的複選框 今天在實現這個效果的時候遇到了一個小問題,點選行的時候可以實現複選框的選擇與取消,但是直接點選複選框的時候無效。 程式碼: <tr class='trcls' onclick='danji

【easyUI】取消easyui選中事件,智慧通過勾checkbox才能中行

背景:專案中使用easyui作為前端架子。datagrid預設是點選行就選中此行然後變色。 需求:點選行不讓此行選中;只能通過點選複選框才能選中某一行。 解決思路:   1、寫點選行函式function onClickRow(rowIndex,rowData){}   2、查詢當前datagrid所有

關於使用Jquery Ajaxcheckbox 獲取資料庫 實現重新整理當前頁面

<td class="td_center"> <li id="dxbox"><input type="checkbox" name="dns_area" id="chk1" value="<%=rs.getString("id")%>

Jquery實現某一checkbox時,value類似的checkbox也選中

<script type="text/jscript"> //點選某checkbox時,把相關的上傳檔案及生成檔案一併刪除。2012.2.15 jb $(document).ready(function(){      $(":checkbox").click

js或者jQuery模擬提交按鈕button,觸發提交操作

一般情況下提交form表單,都是手動點選提交按鈕,但是為了簡化使用者操作,有時候需要自動提交表單,或者做了其他某一個操作(非提交操作)之後自動提交表單,可以使用js或者jQuery模擬點選提交按鈕,然後提交,觸發提交操作 不只是提交表單,其他需要點選的時候都可以這麼寫,不用人手動點選而達到手

Javascript和jquery事件--事件和觸發超連結

前面的不過是一些基礎的知識,真正的一些事件還是有點不同。還有一些名稱空間的問題。不過現在ie也開始接受W3C標準,而且平時開發也很少考慮ie了,一些事件就不考慮ie了。 點選事件--click   大部分問題出現在js、jq觸發超連結上面。我之前看到的解釋是谷歌新版本阻止了觸發瀏覽器預設的操作(超連結、右

ASP.NET GridView 後臺繫結觸發SelectedIndexChanged,頁面重新整理後,只有一頁的情況下,事件只觸發一次

如題,小弟剛接觸asp.net不久,所以有很多不懂,望高手們不吝賜教。 下面進入正題,後臺程式碼如下 <pre name="code" class="csharp"> protected void GridView1_RowDataBound(object se

tr實現選擇checkbox功能,checkobx的時候阻止冒泡事件

給tr新增點選事件,使用find方法查詢tr下的所有層級的元素,children只查詢下一層級的元素,所以使用find。 find的返回值為jquery物件,在這個專案中不知道為什麼使用jquery給

jQuery實現表格選中複

js程式碼,頁面初始化執行:$(".list tr").each(function(){ $(this).children().click(function(e){ $(e.target).parent("tr.item").each

jQuery 設定間隔

var time = 0; $('button').click(function() { //判斷計時器是否處於關閉狀態 if (time == 0) { time = 10; //設定間隔時間(秒) //啟動計時器,倒計時time秒後自動

jquery實現按鈕返回到頁面頂部效果

有的時候我們需要實現點選按鈕回到頁面頂部的效果,下面就是我的實現 首先HTML程式碼如下 <div class="QZ-up" style="display: none;"></div> 當滾動條高度大於120px的時候出現按鈕如下

Jquery滑鼠後變色,另一個按鈕顏色還原

轉載一個! Jquery滑鼠點選後變色,點選另一個按鈕顏色還原 <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

chrome瀏覽器模擬手機端:jquery click()無效解決方法

$(".sku-wrap .ok").click(); chrome瀏覽器模擬手機端,在油猴外掛中寫JS程式碼,然後發現click()點選失效。 解決方法:jquery的click()方法失效,可以使用原生JavaScript的click方法。 首先需要將jquery物件轉化成JS物件:

jquery事件,非動態載入與動態載入

jquery的點選事件,非動態載入點選與動態載入點選寫法不同 1.非動態載入點選 <div id="clickdemo"> <ul> <li>1<li> </ul> </div>點選1觸發 $

jQuery實現div外的區域,來隱藏指定節點

  <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="http://code.jquery.com/

antd table 事件以及高亮顯示中行的背景顏色

需求如圖點選表格某一行選中,修改選中行的背景顏色 檢視antd的官方文件 https://ant.design/components/table-cn/ 會發現文件中給出了兩個屬性 rowClassName 和 onRow rowClassName: 表格行的類名,

js或jquery實現某個按鈕或元素顯示div,頁面其他任何地方隱藏div

點選某個元素顯示div,點選頁面其他任何地方隱藏div,可用javascript和jquery兩種方法實現: 一:javascript實現方法技巧 <script> //定義stopPropagation 方法的使用,該方法將停止事件的傳播,阻止它被分派到其他 Document 節點。

####jquery click一次執行兩次解決方法【遇到】【解決(先接觸繫結,再繫結):$('#addImg').unbind('click').click(function () {})】

====專案例項: <%--$("body").on("click", "#toggle-button${activityDTO.id}", function (e) {--%> // 一次點選兩次觸發事件 <%--$("body").on("click", "#switc

antd table 事件及高亮顯示

1.antd官網表格元件: 2.引用antd的表格元件,即: import {Table} from ‘antd’; 渲染表格元件: 說明: (1)rowClassName屬性是新增表格行樣式屬性,此時的this.setClassName方法為點選行之後為其

JQuery自動事件載入事件

JQuery自動載入整個TXT檔案 $(document).ready(function(){     $("button").trigger("click")//自動實現點選                         $("#div1").load("/try/aj