2012-02-04 47 views
0

的屬性越來越包括maxValue我有文本框jStepper和輸入

<input id="mytextbox" class="skill" type="text" rel="10">

我用jQuery插件jStepper。我使用多久nonstant限值,所有完美地工作:

$('.skill').jStepper({ minValue: 0, maxValue: 20 }); 

問題是,當我想從參數「相對」獲得包括maxValue:

$('.skill').jStepper({minValue: 0, maxValue: parseInt($(this).attr('rel'))});

然後最大限制不起作用。我能做些什麼工作?萬分感謝。

回答

0

您確定parseInt($(this).attr('rel'))返回正確的結果嗎?嘗試使用console.log輸出您正在使用的值(可能還有其類)。

0

很高興看到我的插件被使用! :d

如果你知道你只有一個場附加jStepper到,那麼你就可以做到以下幾點:

var jqField = $('.skill'); 
var intMaxValue = parseInt(jqField.attr('rel'), 10); 

jqField.jStepper({ minValue: 0, maxValue: intMaxValue }); 

當然,這種方法的工作,你必須肯定的是,相對屬性是一個數值。

請注意,我將10作爲第二個參數傳遞給parseInt()。
閱讀原因:http://www.w3schools.com/jsref/jsref_parseInt.asp

如果您有多個字段,那麼上述方法將無法工作。
在這種情況下,這樣的事情是必需的:上面

$('.skill').each(function() { 
    var jqThis = $(this); 
    var intMaxValue = parseInt(jqThis.attr('rel'), 10); 

    jqThis.jStepper({ minValue: 0, maxValue: intMaxValue }); 
}); 

一切都是未經檢驗的,但我希望你得到的總體思路:)

+0

嗨@EmKay 能否請你告訴我我該怎麼刪除/修改maxValue屬性。 我嘗試再次調用jStepper函數,如下所示: jqThis.jStepper({minValue:0})maxValue沒有工作,然後jqThis.jStepper({minValue:0,maxValue:null})沒有改變,並且那麼jqThis.jStepper({minValue:0,maxValue:999999})也沒有改變。 你能幫我解決這個問題嗎? – 2013-08-14 07:23:51

+0

在當前版本中,不能從元素中刪除jStepper,或者稍後更改選項。這個插件很早以前就建立起來了,然後才知道設置和獲取選項的方式,例如jQuery UI使用的方法。但也許有其他方式可以解決您的問題?也許你可以在啓動jStepper之前動態地創建選項對象..? – EmKay 2013-08-16 08:49:38