0

オプションにhighDatesの配列を持つcalboxがあります:

<input name="date" id="date" type="date" data-role="datebox" data-options='{"mode": "calbox", "hideInput": true, "useSetButton":false, "useInline": true, "useImmediate":true, "calHighToday":false, "calHighPick":false, "highDates":["2012-06-20", "2012-06-21"], "themeDateHigh":"b" }'>

そして、これらのhighDatesの1つをクリックすると、アラートが実行されます。highDate の場合のみ。

出来ますか?

4

1 に答える 1

1

DateBox イベントsetのドキュメント で説明されているように、ペイロード イベントにバインドする必要があります。

$('document').bind('pagecreate', function() {
  $('element').bind('datebox', function(e, p) {
    if ( p.method === 'set' ) {
      e.stopImmediatePropagation();

      var myHighDates = $('#date').data('datebox').options.highDates;
      var dateClicked = p.value;

      //DateBox seems to be using diff formats :(
      //Need to convert dateClicked into format matching HighDate 

      if(myHighDates.indexOf(dateClicked) != -1) {
         console.log('highDate clicked:'+dateClicked);
      }else {
         console.log('another date clicked:'+dateClicked );            
      }

    }
  });
});

これが私が試したコードのjsfiddleです...私が遭遇した問題は、日付形式が一致していないことでした...動作するようにするには、いくつかのコードを入力する必要がありますindexOf

于 2012-06-17T18:55:03.370 に答える