场景:
我有一个需要多个时间和选择选择器的表单,为了减少重复,我想出了只有 2 个隐藏输入的计划,一个用于时间,另一个用于选择选择器,然后我有多个链接/buttons 类为 例如“触发时间”
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);
}
});
问题:
有没有办法在“onSelect”期间传递触发mobiscroll的元素的信息?我需要知道哪个按钮触发了 mobiscroll
组件版本:
- Mobiscroll 2.8.2
- Jquery 2.0.3
最佳答案
这是我实现我想要的目标的唯一方法(无需额外激活)
$('.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');
});
关于javascript - Mobiscroll,识别触发它的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20205730/