我已經得到了下面的代碼,代碼沒問題,唯一的問題是,如果我按順序做了錯誤的事情,我想糾正它,整個文本被清除並開始從開始:按選項值訂購商品
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>
DEMO:http://jsfiddle.net/aburayane/zwzx7ann/
所以在選擇框前面的文本是在隱藏的輸入一樣,我應該從選擇框,對應於文字前面相同的值,例如1 => Text1,2 => Text2,3 => Text3,如果錯誤地選擇了1 => Text2,2 => Text1和3 => Text3,所以我的錯誤出現在Text1和Text2中,我沒有選擇正確的值,如果我想糾正,整個文本被刪除並從頭開始。
我的問題:有沒有什麼方法可以在不刪除數據的情況下對打印的文本進行更正,它應該交換在一起。
在此先感謝
上面的例子是由文本排序的不是值 – 2014-09-01 12:04:56
你是什麼意思?我的代碼片段旨在解決您的基本需求*「更正打印的文本而不擦除數據」*。不知道你在這裏指的是什麼。 – tmarwen 2014-09-01 12:24:09
沒有數據被刪除,但訂單被搞亂 – 2014-09-01 12:54:13