最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于js獲取radio和select的屬性并控制的代碼

 更新時(shí)間:2011年05月12日 23:11:07   作者:  
對(duì)于聯(lián)動(dòng)菜單大家都不會(huì)陌生了,但是這還是我第一次寫聯(lián)動(dòng)的了。原理很簡(jiǎn)單,但是自己寫起來就感覺還是有點(diǎn)難度的了
實(shí)現(xiàn)目標(biāo):1、點(diǎn)擊“匿名小組”,自動(dòng)跳轉(zhuǎn):成員類型“私密群”、訪問控制 “群成員”
       2、點(diǎn)擊“公開群”,  自動(dòng)跳轉(zhuǎn):成員類型“實(shí)名小組” 

  

  首先是獲得點(diǎn)擊radio的事件,用的是jquery庫,獲得事件后判斷是那個(gè)radio,通過判斷是那個(gè)radio被checked了然后進(jìn)行聯(lián)動(dòng)變換。其中遇到的問題有,兼容ie和firefox的事件,然后是設(shè)置select中的中options的selected屬性。

  兼容ie和firefox用了var ie=document.all;var nn6=document.getElementById&&!document.all;

  設(shè)置select中的中options的selected屬性用的是var t=document.getElementsByName("select1")[0][1]; t.setAttribute("selected","selected");

  在設(shè)置selected屬性通常用的是document.getElementsByName("select1").options,但是firefox報(bào)undefined。于是遍歷后就用了一個(gè)數(shù)組解決了。

  下面是實(shí)現(xiàn)了目標(biāo)1的完整代碼:
html

復(fù)制代碼 代碼如下:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="l.js"></script>
<p><label>成員類型:</label>
<input type="radio" name="member_type" checked="checked" value='0'/>實(shí)名小組(使用姓名)
<input type="radio" name="member_type" value='1'/>匿名小組(使用昵稱)
</p>
<p><label>群組類型:</label>
<input type="radio" name="search_type" checked="checked" value='1'/>公開群
<input type="radio" name="search_type" value='0'/>私密群
</p>
<p><label>訪問控制: </label>
<select class="select1" name="select1">
<option value="0">任何人</option>
<option value="1">群成員</option>
</select>
</p>

js
復(fù)制代碼 代碼如下:

// JavaScript Document
var ie=document.all;
var nn6=document.getElementById&&!document.all;
$(document).ready(function(){
$(":radio").click(function(e){
var $name=(nn6?e.target.name:event.srcElement.name);
if($name == "member_type")
{
if(1 == GetRadioValue($name))
{
SetRadioCheck("search_type",1);
var t=document.getElementsByName("select1")[0][1];
t.setAttribute("selected","selected");
}
}
});
});

實(shí)現(xiàn)目標(biāo)2時(shí),遇到了SetRadioCheck中的setAttribute不好使了,調(diào)試了也不知道什么原因于是換了obj[i].checked = true;
實(shí)現(xiàn)功能1、2 js
復(fù)制代碼 代碼如下:

// JavaScript Document
var ie=document.all;
var nn6=document.getElementById&&!document.all;
$(document).ready(function(){
/*點(diǎn)擊"匿名小組",自動(dòng)跳轉(zhuǎn):成員類型"私密群"、訪問控制 "群成員"*/
$(":radio").click(function(e){
var $name=(nn6?e.target.name:event.srcElement.name);
if($name == "member_type")
{
if(1 == GetRadioValue($name))
{
SetRadioCheck("search_type",1);
var t=document.getElementsByName("select1")[0][1];
t.setAttribute("selected","selected");
}
}
/*點(diǎn)擊"公開群", 自動(dòng)跳轉(zhuǎn):成員類型"實(shí)名小組"*/
if($name == "search_type")
{
if(1 == GetRadioValue($name))
{
SetRadioCheck("member_type",0);
}
}
});
});
/*獲得被check的radio的值
*RadioName:要獲得radio值的radio組名稱
*/
function GetRadioValue(RadioName){
var obj;
obj=document.getElementsByName(RadioName);
if(obj!=null){
var i;
for(i=0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
}
return null;
}
/*設(shè)置被選中屬性
*RadioName:要修改屬性radio組的名稱
*i:radio中第i個(gè)元素被選中
*/
function SetRadioCheck(RadioName,i){
var obj;
obj=document.getElementsByName(RadioName);
//obj[i].setAttribute("checked","checked");
obj[i].checked = true;
}

對(duì)于在第二次調(diào)用SetRadioCheck
復(fù)制代碼 代碼如下:

if($name == "search_type")
{
if(1 == GetRadioValue($name))
{
SetRadioCheck("member_type",0);
}
}
obj[i].setAttribute("checked","checked")的失效,還請(qǐng)指教。

相關(guān)文章

最新評(píng)論

广宗县| 通榆县| 黔西县| 栖霞市| 林州市| 天柱县| 河津市| 乌兰浩特市| 云霄县| 鸡东县| 西和县| 大渡口区| 乐清市| 密云县| 湘乡市| 大宁县| 行唐县| 宁陵县| 瑞丽市| 东海县| 疏勒县| 平度市| 开江县| 金昌市| 林州市| 台湾省| 铜山县| 三江| 永新县| 宣汉县| 罗定市| 红河县| 关岭| 托里县| 精河县| 湾仔区| 从江县| 广宁县| 芦溪县| 永安市| 达拉特旗|