日期:2014-05-20  浏览次数:20555 次

下面的jquery代码用到的方法和关键词谁能跟我讲一下???
function checkRequiredFields(opts){
//opts cannot be null
//mainForm:logDetailsPanelContentTable
//opts format={formId:'userForm',panelId:'detailsPanel',isPanel:true,inputTypeList:['text','textarea','checkbox','radio','select','file']}
var elementId = "";
var flag = true;
if(!isNull(opts.isPanel)&&opts.isPanel){
//should be check panel's required fields
//saveOrUpdatePanelContentTable
elementId = opts.panelId+"ContentTable";
//jQuery("table[id$='saveOrUpdatePanelContentTable'] :input[class*='required']").eq(6).get().nodeName
jQuery("table[id$='"+elementId+"'] :input[class*='required']").each(function(index,item){
var textStr = getValueOfNode(item);
var messageStr = jQuery(item).siblings(":hidden").val();
if(isNull(textStr)){
flag = false;
alert(messageStr);
return false;
}
});
}else{
//should be check form's required fields
elementId = opts.formId;
jQuery("form[id$='"+elementId+"'] :input[class*='required']").each(function(index,item){
var textStr = getValueOfNode(item);
var messageStr = jQuery(item).siblings(":hidden").val();
if(isNull(textStr)){
flag = false;
alert(messageStr);
return false;
}
});
}
return flag;
}

input[class*='required']"为什么加了一个*号??
siblings(":hidden")的作用是什么?hidden前面加了个:的作用是什么啊?
function(index,item)两个参数是什么?
:input[class*='required']").eq(6).get().nodeName这句话是什么意思?
------最佳解决方案--------------------
input[class*='required']"为什么加了一个*号??答:就是class属性名包含了required,比如class="requiredccc"
siblings(":hidden")的作用是什么?hidden前面加了个:的作用是什么啊?答:表示兄弟节点为隐藏的元素,如:<div style="display:hidden">
function(index,item)两个参数是什么? 答:因为jQuery("table[id$='"+elementId+"'] :input[class*='required']")获取是数组,所以.each是用来循环元素数组的,index表示元素的下表,item表示元素本身
:input[class*='required']").eq(6).get().nodeName这句话是什么意思?答:获取input元素中class包含required的第六个元素的节点名称
------其他解决方案--------------------
楼主直接google下jquery中文api就好了
文档说明很详细例子都有

------其他解决方案--------------------
沙发好牛逼啊 再问一下opts获取的是一整个panel吧,然后elementId是这个panel每个元素的id吧??