簡體   English   中英

通過使用jQuery通過ID獲取價值

[英]get value by id using jquery

此代碼在用於數據庫托管的頁面上使用。 該頁面具有滑塊,用戶可以從中選擇所需的芯數以及滑枕的上限和下限。 從滑塊中選擇的值正在工作,並以span id的形式輸出。 然后,我想采用選定的值來計算價格。 但是我就是無法取回價值。 我將其分解為簡單的部分,並意識到對於核心或ram沒有返回任何價值。 當滑塊更新頁面時,我需要做些什么來檢索值?

 <script>
    function showValues(event, ui) {
        var values;
        if (!ui.values) {
            values = $("#" + event.target.id).slider("values");
        } 
        else {
            values = ui.values;
        }
        if (values[0] == values[1]) {
            return false;
        } 
        else {
            values[0] % 1 == 0;
            values[1] % 1 == 0;
            $("#" + event.target.id + "-valuemin").html(parseInt(values[0]));
            $("#" + event.target.id + "-valuemax").html(parseInt(values[1])); 
        }
    }

    $(document).ready(function() {
        var base = 24;
        var cores = parseInt($("#CoreSlider-valuemin").val()*5);
        var ram = parseInt($("#RanSlider-valuemin").val()*2) + parseInt($("#RanSlider-valuemax").val());
        var cost = parseInt(base) + parseInt(cores) + parseInt(ram);                
        $("#Cost").html(parseInt(cost));
    });
$(function() {$( "#RanSlider" ).slider({range: true,min: 1,max: 64,step: 1,values: [4, 16],slide: showValues,create: showValues,change: showValues});});
$(function() {$( "#CoreSlider" ).slider({range: false,min: 1,max: 16,step: 1,values: [2],slide: showValues,create: showValues,change: showValues});});

    </script>

val()不是可以從元素中獲取文本的函數(如果它不是輸入或類似的東西)。 text()可以做到。 看看這個小提琴: http : //jsfiddle.net/bandrzejczak/jdf1a2ct/

編輯:讓我改寫一下:您用​​於編寫內容的內容(例如.text("a") .val("c") .html("b") .val("c") ,然后可以用來讀取相同內容元素,不使用參數( .text("a")編寫和.text()讀取)

另外,如果要在每次滑動滑塊后都計算成本,則應將計算功能放在valueChange函數中。

當然,有一種更好的方法,而無需使用helper div ,但是我可以用您得到的東西使工作最快。

編輯:並且不要在您知道的int上使用parseInt ,例如base變量。

您的挑戰似乎在於將事件處理與滑塊相關聯。 您現有的代碼如下所示:

$(function() {
    $("#RanSlider").slider(
    {
        range: true,
        min: 1,
        max: 64,
        step: 1,
        values: [4, 16],
        slide: showValues,
        create: showValues,
        change: showValues
    });
});

您的代碼顯示了slidecreatechange選項。 這些不是有效的選項。 相反,您希望注冊事件回調,例如:

$("#RanSlider").on("slide", showValues);
$("#RanSlider").on("create", showValues);
$("#RanSlider").on("change", showValues);

或更有效地:

$("#RanSlider").on(
{
    "slide": showValues,
    "create": showValues,
    "change": showValues
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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