/**
* 获取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函数进行不同的处理。