Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery:将参数和初始函数传递给jquery原型_Javascript_Jquery_Parameters_Chaining - Fatal编程技术网

Javascript jquery:将参数和初始函数传递给jquery原型

Javascript jquery:将参数和初始函数传递给jquery原型,javascript,jquery,parameters,chaining,Javascript,Jquery,Parameters,Chaining,我是这个网站的新手,也是jQuery的新手 我想使用一个所谓的插件,它允许您将插件分配给HTML输入元素。当此元素出现onfocus事件时,选择器将唤醒并以覆盖模式显示在屏幕上。从选择器中选择日期后,选择器消失,HTML变量的值设置为所选值 我希望选择器在不与HTML输入变量交互的情况下显示;此外,用户应该能够在不使用选择器的情况下更改HTML输入元素的值。我的问题是我无法将初始参数和函数传递给插件 通常,插件的使用方式如下: $('#_Date_5').bootstrapMaterialDat

我是这个网站的新手,也是jQuery的新手

我想使用一个所谓的插件,它允许您将插件分配给HTML输入元素。当此元素出现
onfocus
事件时,选择器将唤醒并以覆盖模式显示在屏幕上。从选择器中选择日期后,选择器消失,HTML变量的值设置为所选值

我希望选择器在不与HTML输入变量交互的情况下显示;此外,用户应该能够在不使用选择器的情况下更改HTML输入元素的值。我的问题是我无法将初始参数和函数传递给插件

通常,插件的使用方式如下:

$('#_Date_5').bootstrapMaterialDatePicker();  // this works
参数可以这样传递

$('#_Date_5').bootstrapMaterialDatePicker(
    {
        format: '<format>',
        shortTime: false,
        minDate: null,
        maxDate: null,
        currentDate: null,
        date: true,
        time: true,
        clearButton: true,
        nowButton: true,
        switchOnClick: false,
        triggerEvent: 'focus'
    } 
);
现在,我使用一个临时HTML变量向选择器提供所需的初始日期时间值,并将选择器绑定到此临时变量。单击可编辑值右侧的图标符号后,应显示选择器。现在,用户可以编辑值而不使用选择器,或者决定交替使用选择器

现在我的问题是-是否可以在初始化时同时传递一组参数和回调函数

我通过在插件的构造函数中调用
\u fireCalendar()
实现了这一点,但是我希望能够在不修改插件本身的情况下实现这一点


谢谢你的帮助

好的-这是我的解决方案-讨厌(插件代码需要更改)-但有效:

  • 在插件的构造函数中添加了新参数this.params.beforeHiding。beforeHiding参数最初设置为null,可以设置为函数
  • 调用this.params.beforeHiding在方法hide()末尾传递的函数
  • 在构造函数中

    this.params = {beforeHiding:null, <original parameters>}
    
    此代码将使用新功能:

    var date_interim = document.getElementById('var_interim');
    var date_original = document.getElementById('_Date_5');
    
    date_interim.value = date_original.value;
    
    $('#var_interim').bootstrapMaterialDatePicker(
    {
    format: '<format>',
    shortTime: false,
    date: true,
    time: false,
    clearButton: true,
    nowButton: true,
    switchOnClick: false,
    triggerEvent: 'focus',
    beforeHiding: function()
    {
    var date_interim = document.getElementById('var_interim');
    var date_original = document.getElementById('_Date_5');
    date_original.value = date_interim.value;
    }
    }
    );
    
    // display the picker by focussing it
    date_interim.focus();
    
    var-date\u-mediate=document.getElementById('var\u-mediate');
    var date_original=document.getElementById(“日期_5”);
    日期\中间值=日期\原始值;
    $('var#u middial').bootstrapMaterialDatePicker(
    {
    格式:“”,
    短时间:错,
    日期:对,
    时间:错,
    clearButton:是的,
    没错,
    switchOnClick:false,
    triggerEvent:'焦点',
    beforefhiding:function()
    {
    var date_Missional=document.getElementById('var_Missional');
    var date_original=document.getElementById(“日期_5”);
    日期\原始值=日期\临时值;
    }
    }
    );
    //通过聚焦来显示选择器
    日期临时焦点();
    

    代码绑定到HTML图像标记的单击事件,并使用一个临时变量,该变量是一个HTML输入字段,用户既可以手动编辑原始值,也可以从选择器中拾取值。聚焦中间变量会在屏幕上显示选择器。

    好的-这是我的解决方案-讨厌(插件代码需要更改)-但正在工作:

  • 在插件的构造函数中添加了新参数this.params.beforeHiding。beforeHiding参数最初设置为null,可以设置为函数
  • 调用this.params.beforeHiding在方法hide()末尾传递的函数
  • 在构造函数中

    this.params = {beforeHiding:null, <original parameters>}
    
    此代码将使用新功能:

    var date_interim = document.getElementById('var_interim');
    var date_original = document.getElementById('_Date_5');
    
    date_interim.value = date_original.value;
    
    $('#var_interim').bootstrapMaterialDatePicker(
    {
    format: '<format>',
    shortTime: false,
    date: true,
    time: false,
    clearButton: true,
    nowButton: true,
    switchOnClick: false,
    triggerEvent: 'focus',
    beforeHiding: function()
    {
    var date_interim = document.getElementById('var_interim');
    var date_original = document.getElementById('_Date_5');
    date_original.value = date_interim.value;
    }
    }
    );
    
    // display the picker by focussing it
    date_interim.focus();
    
    var-date\u-mediate=document.getElementById('var\u-mediate');
    var date_original=document.getElementById(“日期_5”);
    日期\中间值=日期\原始值;
    $('var#u middial').bootstrapMaterialDatePicker(
    {
    格式:“”,
    短时间:错,
    日期:对,
    时间:错,
    clearButton:是的,
    没错,
    switchOnClick:false,
    triggerEvent:'焦点',
    beforefhiding:function()
    {
    var date_Missional=document.getElementById('var_Missional');
    var date_original=document.getElementById(“日期_5”);
    日期\原始值=日期\临时值;
    }
    }
    );
    //通过聚焦来显示选择器
    日期临时焦点();
    
    代码绑定到HTML图像标记的单击事件,并使用一个临时变量,该变量是一个HTML输入字段,用户既可以手动编辑原始值,也可以从选择器中拾取值。聚焦中间变量会在屏幕上显示选择器