//.....
})
或者在动态生成的时候 给他动态创建唯一的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
}
})
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)