2013-11-25 68 views
1

場景:Mobiscroll,識別元素觸發它

我有這需要多時間,並選擇採摘,爲了減少重複,我想出了只有2個隱藏輸入一個計劃形式時間和其他選擇選擇器,然後我有多個鏈接/按鈕與類的例如「triggerTime」

HTML:

<input class="hidden" id="timeSelect" /> 

<button class="triggerTime" id="btn1">Select time 1</button> 
<button class="triggerTime" id="btn2">Select time 2</button> 
<button class="triggerTime" id="btn3">Select time 3</button> 

的JavaScript:

//triggering time picker 
$('.triggerTime').click(function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
    $('#timeSelect').mobiscroll('show'); 
    //$('#timeSelect').mobiscroll('trigger', name, $.makeArray(e)); 
}); 

//activating time picker 
$('#timeSelect').mobiscroll().time({ 
    theme: 'ios7', 
    display: 'bottom', 
    mode: 'scroller', 
    headerText: false, 
    onSelect: function(valueText,inst) { 
     console.log('onSelect',valueText,inst,this); 
    }, 
    onShow: function(html, valueText, inst) { 
     console.log('onShow',html,valueText,inst); 
    }, 
    onBeforeShow: function (html, inst) { 
    console.log('onBeforeShow',html,inst,this); 
    } 
}); 

問:

有沒有辦法轉嫁元素的過程中「觸發mobiscroll信息ONSELECT「?我需要知道哪個按鈕觸發mobiscroll

組件版本:

  • Mobiscroll 2.8.2
  • jQuery的2.0.3

回答

0

只有這樣我可以實現我想要的東西(沒有額外激活需要)

$('.triggerTime').click(function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
    var clickedElement = $(this); 
    $('#timeSelect').mobiscroll({ 
      anchor: clickedElement, 
      theme: 'ios7', 
      display: 'bottom', 
      mode: 'scroller', 
      headerText: false, 
      preset: 'time', 
      onSelect: function (valueText,inst) { 
        clickedElement.html(valueText); 
      } 
    }); 
    $('#timeSelect').mobiscroll('show'); 
});