动态更改Number Spinner项

时间:2011-10-07 04:10:35

标签: javascript dojo

我已按以下方式初始化NumberSpinner。

var spinner = new dijit.form.NumberSpinner({
                  name:"spinner",
                    value: "0",
                     smallDelta:"10",
                    constraints: {
                        min: "0"
                    },
                    style:'width:100px'
                },
                "container");

我需要做的是根据其他选择动态更改smallDelta值。有没有办法删除smallDelta属性。如果可以,我可以使用set方法设置具有不同值的属性。任何帮助? 提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用spinner.set('smallDelta', yourValue);

动态更改smallDelta值

看看这个jsfiddle

标记:

<body class="claro">
    <div id="container">

    </div>
    <input id="increaseDelta" dojoType="dijit.form.Button" label="increase delta">

    <input id="decreaseDelta" dojoType="dijit.form.Button" label="decrease delta">
</body>

的javascript:

dojo.require('dijit.form.NumberSpinner');
dojo.require('dijit.form.Button');
dojo.ready(function() {
    var spinner = new dijit.form.NumberSpinner({
        id: 'spinner',
        name: "spinner",
        value: "0",
        smallDelta: "10",
        constraints: {
            min: "0"
        },
        style: 'width:100px'
    }, "container");

    dojo.connect(dijit.byId('increaseDelta'), 'onClick', function() {
        var spin = dijit.byId('spinner');
        var currentDelta = spin.get('smallDelta');
        console.log(currentDelta);
        spin.set('smallDelta', parseInt(currentDelta) + 10)
    });

    dojo.connect(dijit.byId('decreaseDelta'), 'onClick', function() {
        var spin = dijit.byId('spinner');
        var currentDelta = spin.get('smallDelta');
        console.log(currentDelta);
        spin.set('smallDelta', parseInt(currentDelta) - 10)
    });

});