我试图在javascript上实现以下逻辑。
如果type为'bankAccountTypeId',则使用$(field.className)获取与field相同className的所有字段,然后使用.each循环遍历每个结果比较field.value和$(this).val()并使用alert如果它们不同则显示错误消息(如果失败则中断)。
function onChange_productListField(field,type){
if (HimmsJSUtil.elementHasClass(field, 'DC')) {
var allProductGroupFields = $(".DC."+type);
var value = field.value;
if (field.options) {
value = HimmsJSUtil.getSelectedDropDownOption(field);
}
allProductGroupFields.each(function(index) {
if ($(this).attr("id") != field.id
&& !$(this).val()) {
$(this).val(value);
}
});
} else {
/* implement the logic here */
}
}
我的问题是,在这个逻辑中,type属性如何工作?
答案 0 :(得分:0)
首先让我们明确指出jscript不是javascript,代码中的“type”不是属性,只是函数的一个参数。
var allProductGroupFields = $(".DC."+type);
上面一行使用jQuery在类型为“bankAccountTypeId”的同时选择一组具有“DC”和“bankAccountTypeId”类的元素。这样的代码可以在这样的结构中使用:
<div class="whatever">
<input type="text" class="DC bankAccountTypeId" />
<input type="text" class="DC userId" />
<a href="http://stackoverflow.com/questions/1041344">
jQuery multiple class selector
<a>
</div>
<强>附加强>
对于像这样的结构
<div class="DC">
<input type="text" class="bankAccountTypeId" />
<input type="text" class="userId" />
<a href="http://stackoverflow.com/questions/3767512">
jQuery class within class selector
<a>
</div>
选择线必须更改为
var allProductGroupFields = $(".DC ."+type);