如何从JavaScript中动态创建的特定元素中获取值

时间:2014-10-29 16:01:54

标签: javascript jquery html dynamic business-rules

我是Javascript和Jquery的新手。 我开始改变Chris Powers的业务规则。 https://github.com/chrisjpowers/business-rules 我想在数字中添加一个范围滑块,并且还想添加一个数字微调器。我尝试过使用开源滑块。 但我面临的问题是,如果我将滑块的html放在普通的html文件中,那么它就是渲染。但是因为我们想要它动态生成因此尝试通过javascript没有提供所需的结果,它只显示一个空白文本字段。

示例:(来自jquery-UI)

<div class="slider-range"></div>//this works

但如果从javascript尝试过:

var input = $("<div>",{"class":" slider-range rem "});
$this.after(input);

这将创建一个空白输入文本框。 我认为在另一个文件中没有读取支持的javascript,因此我在我的标题中写道:

<script>
        $(function() {
        $( ".slider-range" ).slider({
        range: true,
        min: 0,
        max: 100,
        values: [ 75, 100 ],
        slide: function( event, ui ) {
        $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
        }
        });
        $( "#amount" ).val( "$" + $( ".slider-range" ).slider( "values", 0 ) +
        " - $" + $( ".slider-range" ).slider( "values", 1 ) );
        });

    </script>

它似乎仍然不起作用。 我为自己的无知道歉,但我努力让它发挥作用。请给我一些希望。

1 个答案:

答案 0 :(得分:0)

我创建了 DEMO FIDDLE 它似乎工作正常。

var input = $("<div>",{"class":" slider-range rem"});
$("#empty").after(input);

$( ".slider-range" ).slider({
        range: true,
        min: 0,
        max: 100,
        values: [ 75, 100 ],
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
        }
    });

    $( "#amount" ).val( "$" + $( ".slider-range" ).slider( "values", 0 ) + " - $" + $( ".slider-range" ).slider( "values", 1 ) );