我们说我有8个单选按钮,当选择第8个时,会出现一个文本字段,您可以在其中键入内容。现在如果在文本字段中输入了某些内容并且检查了另一个单选按钮,我想保存文本但是清空文本字段,当他们再次重新检查第8个时,文本字段将填充先前输入的数据。
我尝试过以下方法:
referenceRadio.change(function() {
otherTextValue = otherText.val();
console.log(otherTextValue);
if($(this).val()=="8") {
otherText.show().prop('required', true);
otherText.val(otherTextValue);
} else {
otherText.val('');
otherText.hide().prop('required', false);
}
});
如果需要任何其他信息,请向新人询问。
提前致谢!
更新
管理以使用以下代码:
referenceRadio.change(function() {
console.log(otherText.val());
if($(this).val()=="8") {
otherText.show().prop('required', true);
otherText.val(otherTextValue);
} else {
if(otherText.val() != '') {
/* Only retrieve otherText.val when its not empty */
otherTextValue = otherText.val();
}
otherText.val('');
otherText.hide().prop('required', false);
}
});
答案 0 :(得分:1)
仔细考虑:
现在点击8,就会发生这种情况:
otherTextValue = otherText.val();
现在otherTextValue
为""
。
如果在清空文本字段之前将它放在else
子句中,它应该有效,并且你应该使该子句成为else if
,这样只有在最后选择了8时才会执行它:
referenceRadio.change(function() {
if($(this).val() == "8") {
otherText.show().prop('required', true);
otherText.val(otherTextValue);
} else if(lastRadioValue == "8") {
otherTextValue = otherText.val();
otherText.val('');
otherText.hide().prop('required', false);
}
lastRadioValue = $(this).val();
});
答案 1 :(得分:0)
如果只是第8台收音机,你可以试试这个:
var msgText='';
referenceRadio.change(function() {
if($(this).val()=="8") {
otherText.val(msgText).show().prop('required', true);
} else {
msgText=otherText.val();
otherText.val('').hide().prop('required', false);
}
});