2015-01-14 4 views
-1

HtmlJquery Datepicker unavaialble даты

<p>Date: <input id="datepicker" type="text"></p> 


<div id="DesignIdUnavialble" style="display:none;">"17-2-2015","28-2-2015","01-1-1970","24-3-2015","25-2-2015","25-2-2015","26-2-2015","27-2-2015","21-3-2015"</div> 

Javascript здесь

var unavilabledates = $('#DesignIdUnavialble').html(); 
    var availableDates = [unavilabledates]; 
    //console.log(availableDates); 

    function available(date) { 
     dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); 
     if ($.inArray(dmy, availableDates) !== -1) { 
     return [false, "","Available"]; 
     } else { 
     return [true,"","unAvailable"]; 
     } 
    } 

//$("#datepicker").datepicker(); 
$('#datepicker').datepicker({ 
    beforeShowDay: available, 
    dateFormat: "dd-mm-yy", 
    onSelect: function (date) { 
    } 
}); 

Я пытаюсь скрыть unaviable даты, но я не могу в состоянии сделать это ..

когда им исполнилось это

var availableDates = ["17-2-2015","28-2-2015","01-1-1970","24-3-2015","25-2-2015","25-2-2015","26-2-2015","27-2-2015","21-3-2015"]; 

его работы properly.while им с помощью этой

var unavilabledates = $('#DesignIdUnavialble').html(); 
var availableDates = [unavilabledates]; 

Его не работает .. как я могу это исправить?

Here is my Fiddle

ответ

1

вам нужен массив для недоступного сценария, но что вы делаете это положить весь HTML-строку в массив, так что массив содержит только из 1 строки попробовать что:

var unavilabledates = $('#DesignIdUnavialble').html(); 
var availableDates =[]; 
$(unavilabledates.split(",")).each(function(i, el){console.log(el);availableDates[i] =  el.substring(1, el.length-1)}); 

EDIT: изменил код

+0

нет его не работает попытка в скрипке –

+0

теперь должен работать –

+0

работой удивительного спасибо :) –

1

Эта линия:

console.log(availableDates) 

выходы этого:

[""17-2-2015","28-2-2015","01-1-1970","24-3-2015","2…","25-2-2015","26-2-2015","27-2-2015","21-3-2015""] 

Очевидно, его не массив.

Это, кажется, не работает:

console.log(unavilabledates.split(',').map(function(d){return d.replace(/"/g,'')})); 
+0

да, как я могу это исправить? –

+0

Вы можете разбить его, как @Alexis сказал, и удалить лишние "" – surajck

+0

ОК хорошо, вы плохо исправить это и сказать мне –

Смежные вопросы