js采用map取到id集合組并且實(shí)現(xiàn)點(diǎn)擊一行選中一行
更新時(shí)間:2013年12月16日 17:44:27 作者:
本文為大家介紹下如何使用js采用map取到id集合組,并且點(diǎn)擊一行選中一行
復(fù)制代碼 代碼如下:
<tbody >
<tr >
<td >1</td>
<td>樓盤開業(yè)<br>折扣大大</td>
<td>2011-11-11</td>
<td>短信通知</td>
</tr>
<tr >
<td>2</td>
<td>樓盤開業(yè)<br>折扣大大</td>
<td>2011-11-11</td>
<td>短信通知</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="span7" id="right" >
<table id="table1">
<caption>詳細(xì)信息列表</caption>
<thead>
<tr>
<td> <input type="checkbox" name="checkbox" id="btn"/>全選</td>
<td>短信</td>
<td>上傳時(shí)間</td>
<td>備注</td>
</tr>
</thead>
<tbody id="selectable">
<tr class="dragableBox" id="box1" >
<td id="45"> <input type="checkbox" name="box1" />1</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
<tr class="dragableBox" id="box2" ondragstart="test2()">
<td> <input type="checkbox" name="box2" />
2</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
<tr class="dragableBox" id="box3" ondragstart="test2()">
<td> <input type="checkbox" name="box3" />
3</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
<tr class="dragableBox" id="box4">
<td> <input type="checkbox" name="box4" />
4</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
<tr class="dragableBox" id="box5">
<td> <input type="checkbox" name="box5"/>
5</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
<tr class="dragableBox" id="box6" onclick="clickDrop()" >
<td> <input type="checkbox" name="box6" />
6</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
<tr class="dragableBox" id="box7">
<td> <input type="checkbox" name="box7" />
7</td>
<td>開會(huì)發(fā)現(xiàn)<br>有錯(cuò)</td>
<td>2011-01-30</td>
<td>五</td>
</tr>
</tbody>
</table>
<input type="button" value="test" onclick="test2();"/>
<script type="text/javascript">
var map = new HashMap();
$(function(){
$("#table1 tr ").click(function(e){
var trId=this.id;
$("input[type='checkbox']").each(function(){//遍歷ID
if(this.name==trId){
if(this.checked==true){
$(this).attr("checked",false);
map.remove(this.name);
var dd=document.getElementById(trId);
dd.style.backgroundColor= "white";
}else{
$(this).attr("checked",true);
map.put(this.name,trId);
var dd=document.getElementById(trId);
dd.style.backgroundColor= " #FECA40";
}
}
});
});
});
</script>
復(fù)制代碼 代碼如下:
function HashMap()
{
/** Map 大小 **/
var size = 0;
/** 對象 **/
var entry = new Object();
/** 存 **/
this.put = function (key , value)
{
if(!this.containsKey(key))
{
size ++ ;
}
entry[key] = value;
}
/** 取 **/
this.get = function (key)
{
if( this.containsKey(key) )
{
return entry[key];
}
else
{
return null;
}
}
/** 刪除 **/
this.remove = function ( key )
{
if( delete entry[key] )
{
size --;
}
}
/** 是否包含 Key **/
this.containsKey = function ( key )
{
return (key in entry);
}
/** 是否包含 Value **/
this.containsValue = function ( value )
{
for(var prop in entry)
{
if(entry[prop] == value)
{
return true;
}
}
return false;
}
/** 所有 Value **/
this.values = function ()
{
var values = new Array(size);
for(var prop in entry)
{
values.push(entry[prop]);
}
return values;
}
/** 所有 Key **/
this.keys = function ()
{
var keys = new Array(size);
for(var prop in entry)
{
keys.push(prop);
}
return keys;
}
/** Map Size **/
this.size = function ()
{
return size;
}
}
// var map = new HashMap();
/*
map.put("A","1");
map.put("B","2");
map.put("A","5");
map.put("C","3");
map.put("A","4");
*/
/*
alert(map.containsKey("XX"));
alert(map.size());
alert(map.get("A"));
alert(map.get("XX"));
map.remove("A");
alert(map.size());
alert(map.get("A"));
*/
/** 同時(shí)也可以把對象作為 Key **/
/*
var arrayKey = new Array("1","2","3","4");
var arrayValue = new Array("A","B","C","D");
map.put(arrayKey,arrayValue);
var value = map.get(arrayKey);
for(var i = 0 ; i < value.length ; i++)
{
//alert(value[i]);
}
*/
/** 把對象做為Key時(shí) ,自動(dòng)調(diào)用了該對象的 toString() 方法 其實(shí)最終還是以String對象為Key**/
/** 如果是自定義對象 那自己得重寫 toString() 方法 否則 . 就是下面的結(jié)果 **/
// function MyObject(name)
// {
// this.name = name;
// }
/**
function MyObject(name)
{
this.name = name;
this.toString = function ()
{
return this.name;
}
}
**/
// var object1 = new MyObject("小張");
// var object2 = new MyObject("小名");
//
// map.put(object1,"小張");
// map.put(object2,"小名");
// alert(map.get(object1));
// alert(map.get(object2));
// alert(map.size());
//
/** 運(yùn)行結(jié)果 小名 小名 size = 1 **/
/** 如果改成復(fù)寫toString()方法的對象 , 效果就完全不一樣了 **/
您可能感興趣的文章:
- js下拉選擇框與輸入框聯(lián)動(dòng)實(shí)現(xiàn)添加選中值到輸入框的方法
- js實(shí)現(xiàn)選中復(fù)選框文字變色的方法
- js實(shí)現(xiàn)將選中值累加到文本框的方法
- JS實(shí)現(xiàn)統(tǒng)計(jì)復(fù)選框選中個(gè)數(shù)并提示確定與取消的方法
- js實(shí)現(xiàn)文本框選中的方法
- js單獨(dú)獲取一個(gè)checkbox看其是否被選中
- js獲取checkbox復(fù)選框選中的選項(xiàng)實(shí)例
- js獲取select默認(rèn)選中的Option并不是當(dāng)前選中值
- js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊文本框自動(dòng)選中內(nèi)容的方法
相關(guān)文章
百度UEditor編輯器如何關(guān)閉抓取遠(yuǎn)程圖片功能
這篇文章主要介紹了百度UEditor編輯器如何關(guān)閉抓取遠(yuǎn)程圖片功能,需要的朋友可以參考下2015-03-03
前端使用JS內(nèi)置Blob實(shí)現(xiàn)下載各種形式的文件實(shí)例
通過使用JavaScript我們可以很方便地實(shí)現(xiàn)文件的下載功能,這篇文章主要給大家介紹了關(guān)于前端使用JS內(nèi)置Blob實(shí)現(xiàn)下載各種形式文件的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
FormValidate 表單驗(yàn)證功能代碼更新并提供下載
加入驗(yàn)證模式 4,同3,但是當(dāng)驗(yàn)證不通過時(shí),立即停止向下檢查。在模式3下,如果發(fā)生錯(cuò)誤,會(huì)把錯(cuò)誤記錄,并向下檢查,模式4就不向下檢查了2008-08-08
微信小程序?qū)崿F(xiàn)事件傳參與數(shù)據(jù)同步流程詳解
這篇文章主要介紹了微信小程序開發(fā)中實(shí)現(xiàn)事件傳參與數(shù)據(jù)同步的詳細(xì)流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10
TypeScript中交叉類型和聯(lián)合類型的區(qū)別詳解
聯(lián)合類型(Union Types)和交叉類型(Intersection Types)是 TypeScript 中的兩種高級(jí)類型,它們都用于組合多個(gè)類型并生成新的類型,但它們兩者之間的用法不一樣,本文小編就給大家講講TypeScript中交叉類型和聯(lián)合類型的區(qū)別,需要的朋友可以參考下2023-09-09
JS浮點(diǎn)數(shù)運(yùn)算結(jié)果不精確的Bug解決
這篇文章主要給大家介紹了關(guān)于JS浮點(diǎn)數(shù)運(yùn)算結(jié)果不精確的Bug解決,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
JavaScript實(shí)現(xiàn)拖動(dòng)模態(tài)框
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)拖動(dòng)模態(tài)框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07

