0

我正在使用 jquery ui 来设置一些滑块。我有很多滑块,但我正在尝试最小化代码。这是我在 html 中设置滑块的方式:

    <div class="budget_icon-wrapper">
        <div data-name="space_def" class="icon">
            <img class="info" src="images/info.png" />
            <img src="images/space-icon.png" />
        </div>
        <div id="space-item" class="space-item slider"></div>
        <div id="space_item-value" class="item-txt">$3.00</div>
    </div>

具有“滑块”类的 div 是滑块。在它旁边的 div 中,每个滑块都有不同的值,这恰好是 3 美元。我想做的是将值从该 div 中提取出来(在本例中为 3),并将其作为滑块的值。

我试过但不太奏效的脚本是这样的:

$(".slider").each(function() {
    value = parseInt($(this).siblings(".item-txt").text(),10);


    $(this).slider({
        animate: "fast",
        max: 25,
        min: 0,
        value: value,
        range: "min"
    });
});

感谢您对此的任何帮助。

4

2 回答 2

1

改变

value = parseInt($(this).siblings(".item-txt").text(),10);

value = parseInt($(this).siblings(".item-txt").text().substring(1),10);

jsFiddle 示例

parseInt正在返回NaN,因为$导致它无法返回您想要的。正如parseInt 上的文档所说,“如果第一个字符不能转换为数字,则 parseInt 返回 NaN。”

更新:根据要求,如果您想要 3.00 的值,只需使用value = $(this).siblings(".item-txt").text().substring(1);

于 2013-08-13T18:16:44.123 回答
0
$(".slider").each(function() {
    strVal = $(this).next('.item-txt').text().substring(1); // take the substring of the text "$3.00" from the second character to the end (remove the $)
    value = parseInt(strVal,10);
    $(this).slider({
        animate: "fast",
        max: 25,
        min: 0,
        value: value,
        range: "min"
    });
});
于 2013-08-13T18:21:37.260 回答