Spotfire Current Date in input field with calendar popup

被刻印的时光 ゝ 提交于 2019-12-12 04:16:19

问题


With reference to http://spotfired.blogspot.in/2014/05/popup-calendar-webplayer-compatible.html. Can you please suggest how to get the current date in the input field as soon as the analysis is open in Webplayer.

HTML Code:
<span id="dt1">
<SpotfireControl id="a8b5b0d725bd41f385c3a859b511ae0b" /></span>
<span id="dt1picker"></span>  

JS:
//update document property after selection
function datePicker_onSelect(selectedDate){
 //alert(selectedDate)
 $("#dt1 input").focus()
 $("#dt1 input").blur()
}

//jquery datepicker configuration
//you can comment the buttonImageOnly and buttonImage lines to show a button instead of a calendar or the image of your choice.
pickerOptions = {
 showOn: 'button', 
 buttonImageOnly: true, 
 buttonImage: 'http://staff.washington.edu/tabrooks/343INFO/UnobtrusiveDatePicker/cal-grey.gif', 
 minDate: "-36M", maxDate: "+0D",
 changeMonth: true,
 changeYear: true,
 altField:"#dt1 input",
 onSelect:datePicker_onSelect
 }

//create the date picker
document.getElementById('dt1picker').innerHTML="<input type='hidden' id='datePicker'>"
$("#datePicker").datepicker(pickerOptions);
//--My code to get current date as soon as the analysis is load.
var now = new Date();

    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);

    var today = now.getFullYear() + "-" + (month) + "-" + (day);

    $('#dt1').val(today);

回答1:


I do this with a JScript and a Button (which I hide so nobody can see or click it).

JScript:

$(function () {
 function executeScript() {
 $('#hiddenBtn input').click();
 //or- document.getElementById('hiddenBtn').childNodes[0].click();
 }
$(document).ready(function(){executeScript()});
});

HTML:

<Span style="display:none" id="hiddenBtn">
<SpotfireControl id="f8322a6109af43fb935ad6e7bcb1f1fc" /></span>

IronPython script on HiddenButton:

from System import DateTime
from Spotfire.Dxp.Data.DataType import Date


if Document.Properties["OpenedYet"] == False:
    Document.Properties["udSelectedDate"] = DateTime.Today.ToString("MM/dd/yyyy")
    Document.Properties["OpenedYet"] = True

Mind you, this method can be kind of annoying for the developer, because every time you want to save the analytic, you need to go into document properties and switch the Property value of OpenedYet (which I have as a Boolean) from True to False and then you can't click anything else before you hit the save button.




回答2:


Add this code to your query

//create the date picker

document.getElementById('dt1picker').innerHTML="<input type='hidden' id='datePicker'>"
$("#datePicker").datepicker(pickerOptions);
**$("#datePicker").datepicker("setDate", "0d");**


来源:https://stackoverflow.com/questions/33453648/spotfire-current-date-in-input-field-with-calendar-popup

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!