我正在使用以下标准构建一个jQuery扩展插件:
(function ($) {
var version = "1.1.0";
var active = false;
$.fn.inputPicker = function (options) {
return this.each(function () {
if ($(this)[0].tagName !== 'DIV')
throw new ReferenceError('mz.ui.dialog.dateTimePicker: Method works only on DIV types.');
/// Label
var labelObj = $("<label class='small'>Data Hora Inicial</label>");
$(this).append(labelObj);
/// Input
var inputObj = $("<input type='datetime-local' class='form-control input-sm'></input>");
$(this).append(inputObj);
})
});
};
}(jQuery));
以下是我的称呼方式:
<div id='test'></div>
$('#test').inputPicker();
稍后在代码中我想获得输入字段中输入的数据,如:
$( '试验')inputPicker()getInputData();
实现这一目标的最佳方法是什么?我尝试过类似的事情:
this.getInputData = function () {
return $(inputObj).val();
}
但是在调用函数时出错了。
有人可以帮我吗?提前谢谢......
答案 0 :(得分:2)
您可以使用您添加的DOM结构和类名,使用另一种方法来获取这样的输入数据:
$.fn.getInputData = function() {
return this.eq(0).find("input.input-sm").val();
}
这只能在jQuery对象中的第一个DOM元素上运行(因为它只返回一个值)。
所以,像你一样设置后:
$("#test").inputPicker();
然后您将检索如下数据:
var data = $("#test").getInputData();