JS动态生成的那些事

本来习惯用.net的控件拖拖拖的,最近发现js也很灵活,于是就向js靠拢,可是,期间心酸经历呀,一把鼻涕一把泪的……

一、JS动态生成radio

思路太清晰不过了,无非链接数据库,来个从头到尾加加加。

.net 中有radiolist,如果直接用js生成的话,如何也有这种radiolist的效果呢?什么?你已经知道了,只要将这些radio的name设成同一值就可以了~好吧你对了~

下面先来个万能的函数:

//向页面添加表单元素
// mParent 要添加的表单元素的父元素的ID值
// mType 要添加的表单元素的类型["text","password","radio","checkbox","hidden","button","reset","submit"]
// mID 要添加的表单元素的ID
// mClassName 要添加的表单元素的class
// mName 要添加的表单元素的name
// mText 要添加的表单元素为["radio","checkbox"]时的文本
//mValue 要添加的表单元素的value

function CreateFormUtil(mParent,mType,mID,mClassName,mName,mText,mValue)
{
  var parentTemp=document.getElementById(mParent)
  var inputTemp=document.createElement("input")
  inputTemp.type=mType
  if(mID!=""){inputTemp.id=mID}
  if(mClassName!=""){inputTemp.className=mClassName}
  if(mName!=""){inputTemp.name=mName}
  if(mValue!=""){inputTemp.value=mValue}
  //inputTemp.οnclick=radTranferTypes(i)(此为函数); //①
  inputTemp.οnclick=function clk(){return radTranferTypes(i)}; //②
  //inputTemp.setAttribute("checked","checked"); //①

  parentTemp.appendChild(inputTemp)//向父元素中插入表单项
  inputTemp.setAttribute("checked","checked"); //②

  if(mText!="") 

  {
  var txtTemp=document.createTextNode(mText)
  parentTemp.appendChild(txtTemp)
  }   
  var br=document.createElement("br")
  parentTemp.appendChild(br)
}

解释一:已经顺利的从数据库中生成了,radio了,而且还是radiolist的形式。可是我想让他竖排怎么办?

如果直接用html编写的话,我会很不犹豫的用<br>来让他换行。可是这里该怎么给他加上<br>呢?

那动态创建个<br>吧。(见绿字部分)

解释二:我想让生成的radio默认被选中怎么办?

加上红色的①(在将元素添加前),为什么不好用呢?苍天呀,大地呀~~

解决方法:红色②(在将元素添加后),oh,yeah!!成功了,先别高兴?有区别么?有区别么?什么!?IE显示的时候只对状态改变比较敏感?晕

解释三:如果想给他加个click事件呢。

紫色①甚么反应也没有,老大,别玩我了成不。为什么加不上onclick事件呀。J

紫色②这个…这个…有区别么??为什么你就好用~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值