当在模板助手中调用函数restoreFromSerialize
时,此代码尝试设置输入文本框的值。
它不会在输入文本框中插入elementValue
,即使在console.log(elementName+" "+elementValue);
被触发时已在浏览器控制台中验证了它的值。感谢
function restoreFromSerialize() {
formValues.split('&').forEach(function (doc) {
var elementName = doc.split('=')[0];
var elementValue = doc.split('=')[1];
if($('[name=elmentName]').attr('type') == 'radio') {
$('[name=elementName]').prop('checked', true);
} else {
console.log(elementName+" "+elementValue);
$('[name=elementName]').val(elementValue); //<<<<< NOT WORKING
}
})
}
答案 0 :(得分:2)
重新分解整个代码:
function restoreFromSerialize(formValues) {
formValues.split('&').forEach(function (doc) {
var splited = doc.split('=');
var elementName = splited[0];
var elementValue = splited[1];
if($('[name="'+elementName+'"]').is(':radio')) {
$('[name="'+elementName+'"]').prop('checked', true);
} else {
console.log(elementName+" "+elementValue);
$('[name="'+elementName+'"]').val(elementValue); //<<<<< NOT WORKING
}
});
}
您的代码无效的原因是,您需要在选择器中传递变量而不是字符串文字。