我已經把自己寫進了一個角落,並希望有一個「簡單」的出路。我試圖循環瀏覽我的頁面上的一系列事物,並構建一個key:value對。這是我的結構:jQuery .val()選擇器混亂
<div class="divMapTab" id="divMapTab34">
<div class="divFieldMap">
<select class="selSrc" id="selTargetnamex"><options....></select>
</div>
</div>
<div class="divMapTab" id="divMapTab87">
<div class="divFieldMap">
<select class="selSrc" id="selTargetnamex"><options....></select>
</div>
</div>
它的方式比這更復雜,並且每個divFieldMap div中有很多選擇元素。
這裏是正在建設我的字符串我的JS功能:
function Save() {
var sSaveString = '';
$('.divMapTab').each(function() {
var thisId = this.id;
$('.selSrc', "#" + thisId).each(function() {
var thisSubId = this.id;
//alert(thisSubId); <-- HERE IS THE PROBLEM
var sTargetCol = thisSubId.replace('selTarget', '');
var sValue = this.val();
sSaveString += sTargetCol + '¸' + sValue + '·';
});
});
}
在有警告框和文本行「這裏的問題是」是我試圖讓所選擇的值的「當前」選擇輸入元素,但該元素的ID不是唯一的(我認爲這是,但我搞砸了)。在「每種」類型的jQuery語句中,是否有一種很好的方法來使用「this」來獲得我真正需要的確切select元素,即使它沒有唯一的id?
重複的ID總是會導致您將計算機扔出窗口。修復重複的ID – PetersenDidIt 2010-05-17 18:20:24
我會的,我真的會,但我們正處於嚴酷的最後期限,坦率地說,我很害怕使用這些選擇元素的150行JS函數。這不是我的代碼,我想我會打破它。 150行JS?究竟誰是懲罰的饞嘴!?!? – 2010-05-17 18:58:03
嚴重的是,在此命中產品之前修復您的重複ID。 – 2010-05-17 19:19:56