【发布时间】:2014-10-25 13:20:47
【问题描述】:
我有下面的代码,代码很好,唯一的问题是如果我按顺序做错了,我想更正它,整个文本都会被删除并从头开始:
function getValues() {
var result = [];
var me = this;
$('select').each(function (idx, el) {
var $el = $(el);
result[3*$el.val()+idx]=($el.next('input[type="hidden"]').val() + ' ' + $el.val());
if (me === el) return false;
});
console.log(result);
$('#res').html(result.join(' '));
}
$('select.startID,input[type="hidden"]').change(getValues);
<select name="startID[]" class="startID">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="hidden" name="startText[]" value="Text1">
Text1
<br />
<select name="startID[]" class="startID">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="hidden" name="startText[]" value="Text2">
Text2
<br />
<select name="startID[]" class="startID">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="hidden" name="startText[]" value="Text3">
Text3
<div id="res"></div>
演示:http://jsfiddle.net/aburayane/zwzx7ann/
所以选择框前面的文本在隐藏输入中是相同的,我应该从选择框中选择与前面文本对应的相同值,例如1 => Text1, 2 => Text2, 3 => Text3,如果我选错了1 => Text2, 2=> Text1 and 3=> Text3,所以我的错在Text1和Text2,我没有选择正确的值,如果我想更正,全文被删除并从头开始。
我的问题:有什么方法可以在不擦除数据的情况下对打印的文本进行更正,应该一起交换。
提前致谢
【问题讨论】:
标签: javascript html