我有類似顏色組(紅,藍,綠等)約9無序列表。每個顏色組包含x個列表項目(淺藍色,深藍色等)。當用戶點擊某個列表項時,它會將列表項的ID(包含特定背景顏色)分配給預覽框並顯示所選的背景顏色。它還將單擊列表項的文本字符串傳遞給輸入字段.numbercheck。我需要這個文本字符串進行進一步處理。 HTML標記的的jQuery查找元素及其標識分配給另一個元素
例子:
<input type="text" class="numbercheck">
<div class="previewbox" id="nocolor"></div>
<div class="color-panels">
<ul id="blue-panel" class="colorpanel">
<li id="ral-1000-lightblue" name="1000">RAL 1000</li>
<li id="ral-1001-darkblue" name="1001">RAL 1001</li>
</ul>
<ul id="red-panel" class="colorpanel">
<li id="ral-2000-red" name="2000">RAL 2000</li>
<li id="ral-2001-darkred" name="2001">RAL 2001</li>
</ul>
</div>
什麼上述作品我,文本字符串被傳遞給輸入字段和正確的顏色顯示在預覽框中。但我也希望用戶能夠輸入一定的數字(即2000),然後查找具有相同名稱的列表項(這將是<li id="ral-2000-red" name="2000">RAL 2000</li>
)。如果<li>
名稱與輸入值匹配,那麼列表項的ID應該像<div class="previewbox" id="ral-2000-red"></div>
那樣傳遞到預覽框。如果名稱與輸入值不匹配,則該ID應保持id="nocolor"
。
請注意,我已經有其提取從輸入值的數字工作的功能,所以當「RAL 1000」或「1000 ABC」等進入,它會從字符串中提取1000。
我一直在尋找了幾個小時的互聯網,在這一點上我不知道用什麼樣的代碼來實現這一點。我已經嘗試過的東西,如:
var colorname = $('.colorpanel li').attr('id');
var inputval = $('input.numbercheck').val();
if (colorname == inputval){
$('.previewbox').attr('id',colorname);
}
或者:
var inputval = $('input.numbercheck').val();
var listitem = $('.colorpanel li[name='inputval']').attr('id');
最後一個例子不工作對我來說,它給了我該說「)」錯誤缺少的行,其中var listitem
是位於。
任何幫助,將不勝感激。
這個爲我工作,非常感謝! – MozillaFox