日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于js获取radio和select的属性并控制

發布時間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于js获取radio和select的属性并控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  對于聯動菜單大家都不會陌生了,但是這還是我第一次寫聯動的了。原理很簡單,但是自己寫起來就感覺還是有點難度的了。

  實現目標:1、點擊“匿名小組”,自動跳轉:成員類型“私密群”、訪問控制 “群成員”
       2、點擊“公開群”,? 自動跳轉:成員類型“實名小組”?

  

  首先是獲得點擊radio的事件,用的是jquery庫,獲得事件后判斷是那個radio,通過判斷是那個radio被checked了然后進行聯動變換。其中遇到的問題有,兼容ie和firefox的事件,然后是設置select中的中options的selected屬性。

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

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

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

  下面是實現了目標1的完整代碼:

html

View Code 1 <script type="text/javascript" src="jquery.js"></script>
2 ?<script type="text/javascript" src="l.js"></script>
3
4 ?<p><label>成員類型:</label>
5 <input type="radio" name="member_type" checked="checked" value='0'/>實名小組(使用姓名)
6 <input type="radio" name="member_type" value='1'/>匿名小組(使用昵稱)
7 </p>
8 <p><label>群組類型:</label>
9 <input type="radio" name="search_type" checked="checked" value='1'/>公開群
10 <input type="radio" name="search_type" value='0'/>私密群
11 </p>
12 <p><label>訪問控制: </label>
13 <select class="select1" name="select1">
14 <option value="0">任何人</option>
15 <option value="1">群成員</option>
16 </select>
17 </p>

js

View Code // 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");
}
}
});
});

/*獲得被check的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;
}

/*設置被選中屬性*/
function SetRadioCheck(RadioName,i){
var obj;
obj
=document.getElementsByName(RadioName);
obj[i].setAttribute(
"checked","checked");
}

實現目標2時,遇到了SetRadioCheck中的setAttribute不好使了,調試了也不知道什么原因于是換了obj[i].checked = true;

實現功能1、2 js

View Code // 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");
}
}
/*點擊"公開群", 自動跳轉:成員類型"實名小組"*/
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;
}

/*設置被選中屬性
*RadioName:要修改屬性radio組的名稱
*i:radio中第i個元素被選中
*/
function SetRadioCheck(RadioName,i){
var obj;
obj
=document.getElementsByName(RadioName);
//obj[i].setAttribute("checked","checked");
obj[i].checked = true;
}

對于在第二次調用SetRadioCheck

if($name == "search_type")
??{
???if(1 == GetRadioValue($name))
???{
????SetRadioCheck("member_type",0);
???}
??}

?obj[i].setAttribute("checked","checked")的失效,還請指教。

總結

以上是生活随笔為你收集整理的关于js获取radio和select的属性并控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。