[英]Need to increment an input value, also preserve pre-hover state after hover-out, preserve last selectlist item value using Jquery
這是JSFIDDLE
將鼠標懸停在數字(.clone)元素上時,我希望它
變成“ +”,鼠標離開該元素后,我希望它顯示
之前的號碼。
每當使用(.ArrowUp / .ArrowDown)控件增加(.clone)中的數字值時,隱藏輸入元素(#ItemCount)的值應增加/減少並反映此值更改。
如您所見,當計數深入到“ 1”以下時,受尊重的選擇列表值將設置為“不包括”。 理想情況下,如果有人想簡單地隱藏整個(.ArrowAndCount)太復雜,我希望再次按下舊的值,如果有人按下(.ArrowUp)並增加計數。 但是,如果有人選擇了“不包括”以外的其他值,我希望隱藏后重新顯示該計數,並將其自動遞增為“ 1”。
克隆(.PartModuleWrapper)時,我希望將新的(.clone)和(#ItemCount)的值/計數設置為“ 1”。
如果有人能展示出最有效的方法來執行這些操作,將不勝感激。
<div class="DropDown">
<h4>
Storage</h4>
<div class="PartModuleWrapper" id="Storage">
<label class="catname">
Hard Drive</label>
<img width="45" height="45" src="http://icons.iconarchive.com/icons/tpdkdesign.net/refresh-cl/256/Hardware-HardDrive-icon.png"
class="PartThumbnail">
<div class="itemshortd">
SATA3, 7200rpm, 3.5"
</div>
<select id="mydropdown" name="mydropdown" onchange="OnSuccess(mydata);" part="Storage">
<option selected="selected" value="18">✔ 1TB SATA3 Seagate HDD</option>
<option value="23">[+$31] Western Digital 2TB SATA3 yellow</option>
<option value="0">Do not include</option>
</select>
<div class="ArrowAndCount">
<div class="clone">
1</div>
<div class="ArrowUp">
▲</div>
<div class="ArrowDown">
▼</div>
</div>
<input id="ItemCount" name="ItemCount" type="hidden" value="1">
</div>
</div>
$(".ArrowUp").live("click", function() {
var count = $(this).prevAll('.clone').text();
var countin = parseInt(count);
if (countin < 9) {
$(this).prevAll('.clone').text(countin + 1);
var countvalue = $(this).parent().next().val();
$(this).parent().next().val(parseInt(countvalue + 1));
}
else {
$(this).prevAll('.clone').text(1);
}
});
$(".ArrowDown").live("click", function() {
var count = $(this).prevAll('.clone').text();
var countin = parseInt(count);
if (countin > 1) {
$(this).prevAll('.clone').text(countin - 1);
}
else {
$(this).prevAll('.clone').text(0);
$(this).parent().prev().val('0');
}
});
$(".clone").hover(
function() {
var state = $(this).html();
$(this).html('+');
},
function() {
var state = $(this).html();
$(this).html(state);
}
);
$(".clone").live("click", function() {
var clone = $(this).parent().parent().clone();
$(this).parent().parent().append(clone);
OnSuccess(mydata);
});
更新#3
再次更新! -http://jsfiddle.net/MHz3t/5/
更新#2
更新的小提琴: http : //jsfiddle.net/MHz3t/4/
更新
檢查此更新的小提琴: http : //jsfiddle.net/MHz3t/3/
您提到的4個要求非常容易實現。 檢查小提琴的實現。
檢查此小提琴: http : //jsfiddle.net/MHz3t/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.