2011-10-07 47 views
1

我已经按以下方式初始化了NumberSpinner。更改NumberSpinner attr dynamicaly

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

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

+0

什么你的意思是“删除”?你可以简单地将它包含在你的对象字面值中,或者你可以将它设置为等于其他变量而不是硬编码字符串。你能详细解释一下吗? – nnnnnn

回答

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) 
    }); 

}); 
+0

spinner.set(“value”,0); - 你是救星! – Oleg