2015-11-07 83 views
0

我有兩個問題。這是我的代碼(伊朗日曆),問題是我想看到結果。年,月和日的所有值都顯示爲「$年」和「月」和「日」。使用下拉列表PHP

enter image description here

<?php 

      echo'<select dir="rtl" name="year">'; 
      for($year=1388;$year<=1410;$year++) 
      { 
      echo '<option value="$year">$year</option>'; 


      } 
echo'</select>'; 


echo'<select dir="rtl" name="month">'; 
for($month=1;$month<=12;$month++) 
      { 


      echo '<option value="$month">$month</option>'; 

      } 
echo'</select>'; 


echo'<select dir="rtl" name="day">'; 
for($day=1;$day<=31;$day++) 
      { 


      echo '<option value="$day">$day</option>'; 

      } 
echo'</select>'; 
      ?> 

第二個問題:

,我需要的另一件事。在伊朗日曆月1日至6日有31天,7日至12日有30天,所以我需要一個條件表達式,當用戶選擇月1日至6日顯示31天選擇和當用戶選擇7至121日顯示30天。

回答

3

您使用雙引號內的單引號所以它會呈現爲字符串。 做了相應的改變:你需要

JSFIDDLE

第一:

來源:

echo '<option value="$year">$year</option>'; 

要:

echo '<option value="'.$year.'">'.$year.'</option>'; 

echo '<option value="'.$month.'">'.$month.'</option>'; 

echo '<option value="'.$day.'">'.$day.'</option>'; 

編輯(回答你的第二個問題)給出id屬性到您的select字段。

<select dir="rtl" name="month" id="month"> 

<select dir="rtl" name="day" id="day"> 

然後你需要添加檢查,如果月大於6,因此將刪除的最後一個選項(僅天31個)的一些jQuery代碼。如果月份等於6或更少,則會添加新選項(僅在天數爲30時)。

$('#month').on('change', function() { 
    var monthValue = $(this).val(); 
    var dayOptions = $('#day option').size(); 
    if (monthValue > 6 && monthValue <=12) { 
     if (dayOptions == 31) { 
      $("#day option:last").remove(); 
     } 
    } else if (monthValue >= 1 && monthValue <= 6) { 
     if (dayOptions == 30) { 
      $('#day').append($('<option>', { 
        value: 31, 
        text: 31 
       })); 
     } 
    } 
}); 
+0

請回答我的第二個問題。 – sammy

+1

你需要JavaScript for this。在月份將onChange事件綁定到相應的日期字段。 –

+0

只要他使用jQuery就會工作。 – Terminus

2

你需要使用".使用串聯與' 所以這應該是:

echo '<option value="$day">$day</option>'; 

這樣的:

echo '<option value="' . $day . '">' . $day . '</option>'; 

或本:

echo "<option value=\"$day\">$day</option>"; 
+0

請回答我的第二個問題.. – sammy

+0

@sajad這回答你的原始問題。如果你有另一個問題,然後問另一個問題http://stackoverflow.com/questions/ask,並在給出答案後不要改變事情。我回滾了你原來的問題。 –

+0

@ Fred-ii-我原來的問題有兩個問題,我沒有改變任何東西,你可以看到我的問題。 「」「」我需要更多的東西。在伊朗的日曆月1日至6日有31天,7日至12日有30天,所以我需要一個條件表達式,當用戶選擇月1日至6日顯示31天選擇,當用戶選擇月7日至121日顯示30天。「」 「」 – sammy