根据html元素的类型设置元素的值

/**
 * 获取input/select/checkbox/radio的值
 * @param id
 * @param nodeAttribute
 * @param Str valueStr或valueNum 不填默认valueStr
 */
function getFromHtml(id,nodeAttribute,Str)
{
    if ($("#" + id).is('select'))
    {
        getSelect(id, nodeAttribute, Str);
    }
    else
    {
        var type = $("#" + id).attr("type");
        if ('text' == type)
        {
            getInput(id, nodeAttribute, Str);
        }
        else if ('checkbox' == type)
        {
            getCheckBox(id, nodeAttribute, Str);
        }
        else
        {
            $("input[type=radio][name=" + name + "]").each(function(i, e){
                type = $(this).attr("type");
                    });
            if ('radio' == type)
            {
                getRadio(id, nodeAttribute, Str);
            }else{
                console.error('getToHtml未支持的元素类型 $("#' + id + '").attr("type")=' + type);
            }
        }
    }
}
/**
 * 从表单中获取值并设置到jobmeta的节点属性中
 * @param id
 * @param values
 * @param Str valu
 */
function getSelect(id,nodeAttribute,Str)
{
	eval('nodeAttribute.'+id+'=nodeAttribute.'+id+'?nodeAttribute.'+id+':[{"valueStr":"","valueNum":0,"nr":0}]');
	var v = $("#"+id).val();
	Str=(!Str)?"valueStr":Str;
	if(v){
		eval('nodeAttribute.'+id+'[0].'+Str+'=v');
	}
}

/**
 * 从表单中获取值并设置到jobmeta的节点属性中
 * 
 * @param id
 * @param values
 * @param Str
 *            valueStr|valueNum
 */
function getInput(id,nodeAttribute,Str)
{
    eval('nodeAttribute.'+id+'=nodeAttribute.'+id+'?nodeAttribute.'+id+':[{"valueStr":"","valueNum":0,"nr":0}]');
    var v = $("#"+id).val();
    Str=(!Str)?"valueStr":Str;
    if(v!='undefined'&&v!=undefined){
        eval('nodeAttribute.'+id+'[0].'+Str+'=v');
    }
}
/**
 * 获取选中的radio值
 * @param name
 */
function getCheckedVal(name){
    return $("input[name='"+name+"']:checked").val()
}
/**radio取值
 * @param name 
 * @param nodeAttribute
 * @param Str
 */
function getRadio(name,nodeAttribute,Str)
{
    eval('nodeAttribute.'+id+'=nodeAttribute.'+id+'?nodeAttribute.'+id+':[{"valueStr":"","valueNum":0,"nr":0}]');
    var v = $("input[name='"+name+"']:checked").val();;
    Str=(!Str)?"valueStr":Str;
    if(v){
        eval('nodeAttribute.'+id+'[0].'+Str+'=v');
    }
}
/**
 * 从插件表单中获取值然后设置到jobmeta的节点属性中
 * @param id 表单id同时也是属性变量名,两者要一致。
 * @param nodeAttribute 节点属性对象
 */
function getCheckBox(id,nodeAttribute)
{
    eval('nodeAttribute.'+id+'=nodeAttribute.'+id+'?nodeAttribute.'+id+':[{"valueStr":"","valueNum":0,"nr":0}]');
    var v = $("#"+id).prop("checked")?'Y':'N';
    eval('nodeAttribute.'+id+'[0].valueStr=v');
    console.log(id,eval('nodeAttribute.'+id+'[0].valueStr'));
}

获取元素的type属性结合eval函数进行不同的处理。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值