jquery怎么选择动态生成的radio,并判断是否选中

jquery怎么选择动态生成的radio,并判断是否选中,第1张

$("input[name='T92']").each(function(){

//.....

})

或者在动态生成的时候 给他动态创建唯一的id

然后通过 $("#id") 就可以取到那个radio了

首先要明确下面几点:

1、动态添加的radio必须有name属性,同一组的radio其name属性一定相同(所谓同一组就是说多个radio中只有一个被选中,其他自动恢复为未选中状态);

2、如果要关联label,则radio必须设置id属性,且id必须具有唯一性(不但radio之间的id不能相同,整个页面所有元素的id都不能相同);

3、label的for属性必须与所关联的radio相同。

下面是个已通过测试的例子:

<button id=btn>添加radio</button>

<div id=test></div>

<script>

var id=100

window.onload=function(){

   document.getElementById("btn").onclick=function(){

      var ipt=document.createElement("input")

      ipt.name="r"

      ipt.type="radio"

      ipt.id="r"+id

      document.getElementById("test").appendChild(ipt)

      var lbl=document.createElement("label")

      lbl.setAttribute("for","r"+id)

      lbl.innerHTML="r"+id

      document.getElementById("test").appendChild(lbl)

      id++

   }

}

</script>

如果把radio放到label内,也可以不设置radio的id属性和label的for属性:

<button id=btn>添加radio</button>

<div id=test></div>

<script>

window.onload=function(){

   document.getElementById("btn").onclick=function(){

      var lbl=document.createElement("label")

      lbl.innerHTML="r"+parseInt(Math.random()*1000)

      var ipt=document.createElement("input")

      ipt.name="r"

      ipt.type="radio"

      lbl.appendChild(ipt)

      document.getElementById("test").appendChild(lbl)

   }

}

</script>

不要忘记jquery库的引入

//获取radiobuttonlist 选中的 text :

function GetRbtnListByEdText(radiobuttonlistid) {

return $("#" + radiobuttonlistid).find("input:checked").next("label").text()

}

//获取radiobuttonlist 选中的 value :

function GetRbtnListByEdValue(radiobuttonlistid) {

return $("#" + radiobuttonlistid).find("input:checked").attr("value")

}

//获取radiobuttonlist 选中的 索引 :

function GetRbtnListByEdIndex(radiobuttonlistid) {

var targetObj = $("#" + radiobuttonlistid + " input")

var tempThis = $("#" + radiobuttonlistid).find("input:checked")

return targetObj.index(tempThis)

}

//设置radiobuttonlist 选中的 text :

function SetRbtnListByEdText(radiobuttonlistid, _txt) {

var tempThis

var targetObj = $("#" + radiobuttonlistid + " label")

targetObj.each(function() {

tempThis = $(this)

if (tempThis.text() == _txt) {

tempThis.prev("input").attr("checked", "checked")//.attr("disabled", "disabled")

return

}

})

}

//设置radiobuttonlist 选中的 value :

function SetRbtnListByEdValue(radiobuttonlistid, _val) {

$("#" + radiobuttonlistid + " input[value='" + _val + "']").attr("checked", "checked")

}

//设置radiobuttonlist 选中的 索引 :

function SetRbtnListByEdIndex(radiobuttonlistid, _selectedIndex) {

var tempThis

var targetObj = $("#" + radiobuttonlistid + " input")

targetObj.each(function() {

tempThis = $(this)

if (targetObj.index(this) == _selectedIndex) {

tempThis.attr("checked", "checked")return

}

})

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11519021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存