function replaceIfEmpty(fieldID, value){
alert($j('input#'+fieldID.val()));
if ($j('input#'+fieldID).val() == ""){
$j('input#'+fieldID).val(value);
}
}
这是我的功能,这是在我的控制器中:
page << "replaceIfEmpty('object_name', '#{t.name}');"
但是当调用所有这些时,警告会告诉我:
RJS error:
TypeError: Object object_name has no method 'val'
即使我使用的是jQuery 1.3.2,但文档说.val()并不是1.4 = \
的新手。答案 0 :(得分:1)
你的括号有点偏,这个:
alert($j('input#'+fieldID.val()));
应该是:
alert($j('input#'+fieldID).val());
目前,您尝试在字符串fieldID
上调用.val()
,而不是jQuery对象。
这个问题有点切线:如果你升级到 1.4 + ,你可以通过将函数传递给.val()
来缩短它,像这样:
function replaceIfEmpty(fieldID, value){
$j('#'+fieldID).val(function(i, oldVal) {
alert(oldVal);
return oldVal == "" ? value : oldValue;
});
}
答案 1 :(得分:0)
根据您的错误,它看起来好像fieldID不是您认为的那样。您是否根据Firebug进行了调试?