2014-05-05 17 views
1

我有以下customflipbox使用Datebox JQM插件創建:jQuery Mobile的定製Flipbox得到選擇的值

<div data-role="fieldcontain"> 
    <label for="cf" data-i18n="config.localelabel"></label> 
    <input name="cf" type="date" data-role="datebox" id="cf" data-options='{"mode":  "customflip", 
"customData": [ { 
"input": true, 
"name": "", 
"data": ["Italiano","English","Espanol","Deutsch","Francais","русский"] 
}], 
"useNewStyle": false, 
"overrideStyleClass": "ui-icon-dice", 
"useButton":false, 
"useFocus" : true 
}' /> 

當我選擇一個值,我需要填充CF輸入域選擇的價值,我想:

$('cf').on('datebox',function(p,e){ 
    if (p.method === 'set') { 
     e.stopImmediatePropagation(); 
     $(this).val(selectdata[p.value]); 
    } 
}); 
上的「datebox」事件

,但似乎最我能得到的是該字段填入選定值的指標,但我需要實際的字符串(如英語)。

任何見解?

謝謝。 M.

+0

'$(「#cf」)'你錯過了哈希。 – Omar

+0

哇是啊,我的壞,只是一個錯字,雖然發佈的問題,但原來的代碼是正確的:)。謝謝。 –

回答

2

添加數據數組中的代碼,然後可以在「設定」事件引用它:

<div data-role="fieldcontain"> 
    <label for="cf" data-i18n="config.localelabel"></label> 
    <input name="cf" type="date" data-role="datebox" id="cf" data-options='{"mode":  "customflip", 
"useNewStyle": false, 
"overrideStyleClass": "ui-icon-dice", 
"useButton":false, 
"useFocus" : true 
}' /> 

在代碼創建一個名爲selectdata全局變量是值的陣列:

var selectdata = ["Italiano","English","Espanol","Deutsch","Francais","русский"]; 
jQuery.extend(jQuery.mobile.datebox.prototype.options, { 
    'customData': [{ 
     'input': true, 
      'name': '', 
      'data': selectdata 
    }], 
     "useHeader": false, 
     "overrideCustomSet": "OK" 
}); 

$('#cf').on('datebox', function (e, p) { 
    if (p.method === 'set') { 
     e.stopImmediatePropagation(); 
     $(this).val(selectdata[p.value]); 
    } 
}); 

DEMO

+0

謝謝@ezanker。你的解決方案相當不錯:),我認爲我需要在jQuery技能方面更多地使用LvlUp)。 –

+0

歡迎您! – ezanker