使用子菜单中的复选框限制引导日期选择器中的天数

时间:2017-04-05 作者:W. White

MY SITUATION

我在自定义帖子类型中创建了一个子菜单。在此子菜单中,每个日期(周一至周日)有7个复选框。我用这些盒子来选择餐厅关门的日子。例如,我在周日休息,然后我选中周日复选框并将其保存为update_option.

在我的插件上,我创建了一个带有引导日期选择器的表单,它工作得很好。我可以通过禁用日期daysOfWeekDisabled:[ ].

MY QUESTION

我想将子菜单连接到我的日期选择器。需要在我的日期选取器中自动禁用复选框中的关闭日期。我找到了一个example 对于JQuery,但它对我不起作用。我希望有人能在正确的方向上帮助我

MY CODE
Wordpress子菜单/HTML代码

<?php
add_action( \'admin_menu\', \'reserveringsformulier_add_submenu_gesloten\' );
function reserveringsformulier_add_submenu_gesloten() {
add_submenu_page(
\'edit.php?post_type=reserveringen\',
__( \'Gesloten dagen Restaurant\', \'Gesloten dagen\' ),
__( \'Gesloten dagen\', \'Gesloten dagen\' ),
\'manage_options\',
\'gesloten_restaurant\',
\'gesloten_restaurant_inger_display\' );
}

function gesloten_restaurant_inger_display() {

if ($_POST[\'maandag\']==\'on\') {
$display_maandag = \'checked\';
} else {
$display_maandag = \'\';
} update_option(\'maandag\', $display_maandag);

if ($_POST[\'dinsdag\']==\'on\') {
  $display_dinsdag = \'checked\';
} else {
  $display_dinsdag = \'\';
} update_option(\'dinsdag\', $display_dinsdag);

if ($_POST[\'woensdag\']==\'on\') {
  $display_woensdag = \'checked\';
} else {
  $display_woensdag = \'\';
} update_option(\'woensdag\', $display_woensdag);

if ($_POST[\'donderdag\']==\'on\') {
  $display_donderdag = \'checked\';
} else {
  $display_donderdag = \'\';
} update_option(\'donderdag\', $display_donderdag);

if ($_POST[\'vrijdag\']==\'on\') {
  $display_vrijdag = \'checked\';
} else {
  $display_vrijdag = \'\';
} update_option(\'vrijdag\', $display_vrijdag);

if ($_POST[\'zaterdag\']==\'on\') {
  $display_zaterdag = \'checked\';
} else {
  $display_zaterdag = \'\';
} update_option(\'zaterdag\', $display_zaterdag);

if ($_POST[\'zondag\']==\'on\') {
  $display_zondag = \'checked\';
} else {
  $display_zondag = \'\';
} update_option(\'zondag\', $display_zondag);

?>

<h1><?php _e( \'Gesloten dagen Restaurant Inger\', \'gesloten_dagen\' ); ?></h1>

<form method="POST" action="">
    <h4>Selecteer de dagen dat het restaurant gesloten is: </h4>

    <table id="selectdays">
    <h4><input type="checkbox" name="maandag" id="maandag" value="1" <?php echo get_option(\'maandag\'); ?> /> Maandag </h4>
    <h4><input type="checkbox" name="dinsdag" id="dinsdag" value="2"<?php echo get_option(\'dinsdag\'); ?> /> Dinsdag </h4>
    <h4><input type="checkbox" name="woensdag" id="woensdag" value="3"<?php echo get_option(\'woensdag\'); ?> /> Woensdag </h4>
    <h4><input type="checkbox" name="donderdag" id="donderdag" value="4"<?php echo get_option(\'donderdag\'); ?> /> Donderdag </h4>
    <h4><input type="checkbox" name="vrijdag" id="vrijdag" value="5"<?php echo get_option(\'vrijdag\'); ?> /> Vrijdag </h4>
    <h4><input type="checkbox" name="zaterdag" id="zaterdag" value="6"<?php echo get_option(\'zaterdag\'); ?> /> Zaterdag </h4>
    <h4><input type="checkbox" name="zondag" id="zondag" value="7"<?php echo get_option(\'zondag\'); ?> /> Zondag </h4>
  </table>
    <p><input type="submit" name="search" value="Opslaan" class="button" /></p>
</form>
页脚。php

<script src="../js/moment.js"></script>
<script src="../js/bootstrap-datepicker.min.js"></script>
<script src="../locales/bootstrap-datepicker.nl.min.js"></script>

<!--Script voor date en time picker-->
<script>
// Instellingen voor de datetimepicker
$(\'#mydatepicker1\').datepicker({
 language: \'nl\',
 startDate: \'0\',
 endDate: \'+1M\',
 daysOfWeekDisabled: [1]
 });
</script>
提前谢谢。

1 个回复
最合适的回答,由SO网友:W. White 整理而成

------------ EDIT -> PROBLEM SOLVED ---------
MY CODE
Wordpress子菜单/HTML代码

<?php
add_action( \'admin_menu\', \'reserveringsformulier_add_submenu_gesloten\' );
function reserveringsformulier_add_submenu_gesloten() {
add_submenu_page(
\'edit.php?post_type=reserveringen\',
__( \'Gesloten dagen Restaurant\', \'Gesloten dagen\' ),
__( \'Gesloten dagen\', \'Gesloten dagen\' ),
\'manage_options\',
\'gesloten_restaurant\',
\'gesloten_restaurant_inger_display\' );
}

function gesloten_restaurant_inger_display() {

function gesloten_restaurant_inger_display() {
if (isset($_POST[\'submit_datum_gesloten\'])) {
if (isset($_POST[\'maandag\'])) {
    update_option(\'maandag\', $_POST[\'maandag\']);
    $maandag = $_POST[\'maandag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'maandag\');
}
$maandag = get_option(\'maandag\');

if (isset($_POST[\'dinsdag\'])) {
    update_option(\'dinsdag\', $_POST[\'dinsdag\']);
    $dinsdag = $_POST[\'dinsdag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'dinsdag\');
}
$dinsdag = get_option(\'dinsdag\');

if (isset($_POST[\'woensdag\'])) {
    update_option(\'woensdag\', $_POST[\'woensdag\']);
    $woensdag = $_POST[\'woensdag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'woensdag\');
}
$woensdag = get_option(\'woensdag\');

if (isset($_POST[\'donderdag\'])) {
    update_option(\'donderdag\', $_POST[\'donderdag\']);
    $donderdag = $_POST[\'donderdag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'donderdag\');
}
$donderdag = get_option(\'woensdag\');

if (isset($_POST[\'vrijdag\'])) {
    update_option(\'vrijdag\', $_POST[\'vrijdag\']);
    $vrijdag = $_POST[\'vrijdag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'vrijdag\');
}
$vrijdag = get_option(\'vrijdag\');

if (isset($_POST[\'zaterdag\'])) {
    update_option(\'zaterdag\', $_POST[\'zaterdag\']);
    $zaterdag = $_POST[\'zaterdag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'zaterdag\');
}
$zaterdag = get_option(\'zaterdag\');

if (isset($_POST[\'zondag\'])) {
    update_option(\'zondag\', $_POST[\'zondag\']);
    $zondag = $_POST[\'zondag\'];
    //echo \'Uw wijziging is opgeslagen!\';
} else {
  delete_option(\'zondag\');
}
$zondag = get_option(\'zondag\');
echo \'Uw wijziging is opgeslagen!\';
}

?>

<h1><?php _e( \'Gesloten dagen Restaurant Inger\', \'gesloten_dagen\' ); ?></h1>

    <h1><?php _e( \'Gesloten dagen Restaurant Inger\', \'gesloten_dagen\' ); ?></h1>
<form method="POST" action="">
  <h4>Selecteer de dagen dat het restaurant gesloten is: </h4>
      <h4><input type="checkbox" name="maandag" id="maandag" value="1" <?php if(isset($_POST[\'maandag\'])) echo "checked=\'checked\'"; ?> /> Maandag </h4>
      <h4><input type="checkbox" name="dinsdag" id="dinsdag" value="2" <?php if(isset($_POST[\'dinsdag\'])) echo "checked=\'checked\'"; ?> /> Dinsdag </h4>
      <h4><input type="checkbox" name="woensdag" id="woensdag" value="3" <?php if(isset($_POST[\'woensdag\'])) echo "checked=\'checked\'"; ?> /> Woensdag </h4>
      <h4><input type="checkbox" name="donderdag" id="donderdag" value="4" <?php if(isset($_POST[\'donderdag\'])) echo "checked=\'checked\'"; ?> /> Donderdag </h4>
      <h4><input type="checkbox" name="vrijdag" id="vrijdag" value="5" <?php if(isset($_POST[\'vrijdag\'])) echo "checked=\'checked\'"; ?> /> Vrijdag </h4>
      <h4><input type="checkbox" name="zaterdag" id="zaterdag" value="6" <?php if(isset($_POST[\'zaterdag\'])) echo "checked=\'checked\'"; ?> /> Zaterdag </h4>
      <h4><input type="checkbox" name="zondag" id="zondag" value="0" <?php if(isset($_POST[\'zondag\'])) echo "checked=\'checked\'"; ?> /> Zondag </h4>
  <p><input type="submit" name="submit_datum_gesloten" value="Opslaan" class="button" /></p>
</form>
页脚。php

<script src="../js/moment.js"></script>
<script src="../js/bootstrap-datepicker.min.js"></script>
<script src="../locales/bootstrap-datepicker.nl.min.js"></script>

<!--Script voor date en time picker-->
<script>
var disableDates = "<?php echo
    $maandag = get_option(\'maandag\');
    $dinsdag = get_option(\'dinsdag\');
    $woensdag = get_option(\'woensdag\');
    $donderdag = get_option(\'donderdag\');
    $vrijdag  = get_option(\'vrijdag\');
    $zaterdag = get_option(\'zaterdag\');
    $zondag = get_option(\'zondag\');
    echo $maandag . $dinsdag . $woensdag . $donderdag . $vrijdag . $zaterdag . $zondag ?>";
//alert(disableDates);
// Instellingen voor de datetimepicker
$(\'#mydatepicker1\').datepicker({
language: \'nl\',
startDate: \'0\',
endDate: \'+2M\',
daysOfWeekDisabled: disableDates
});

</script>
提前谢谢。