簡體   English   中英

需要增加輸入值,還需要在懸停后保留懸停前的狀態,使用Jquery保留最后一個選擇列表項的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM