PHP列表不会在Javascript中显示

时间:2011-08-19 19:42:13

标签: javascript jquery

<p>Today's Date: <?php echo $date; ?></p>
<p>Are you applying for a day, evening, or weekend class?</p>

<select name="date" id="wclass">
<option value="day">day</option>
<option value="evening">Evening</option>
<option value="weekend">Weekend</option>
</select>


Program Start Date:

<div id="dates"></div>

<script language="javascript">
$(document).ready(function() {

$("#wclass").change(function ()
{
    if( $("#wclass").val() == 'day' )
    {
        $('#dates').html('<select name="date">\
            <option value="date1"><?php echo $start1; ?></option>\
            <option value="date2"><?php echo $start2; ?></option>\
            <option value="date3"><?php echo $start3; ?></option>\
            <option value="date4"><?php echo $start4; ?></option>\
            <option value="date5"><?php echo $start5; ?></option>\
            <option value="date6"><?php echo $start6; ?></option>\
            <option value="date7"><?php echo $start7; ?></option>\
        </select>');
    } 
 }); 
});
</script>

所以我的问题是我无法得到日期,列表不会显示。如果我将listi单独放入,就像魅力一样。 javascript有问题吗?

这是浏览器获取的内容:

 $('#dates').html('<select name="date">\
 <option value="date1">Aug 11</option>\
 <option value="date2">May 5</option>\
 <option value="date3">June 6</option>\ 
 <option value="date4">January 7</option>\
 <option value="date5">April 5</option>\
 <option value="date6">December 3</option>\
   <option value="date7">October 15</option>\
 </select>'); 

2 个答案:

答案 0 :(得分:1)

由于您正在收听change事件,因此只有在您选择eveningweekend时才会显示您的列表,然后将其更改回day。< / p>

您可以强制更改初始加载:

$("#wclass").change(function ()
{
    if( $("#wclass").val() == 'day' )
    {
        $('#dates').html('<select name="date">\
            <option value="date1"><?php echo $start1; ?></option>\
            <option value="date2"><?php echo $start2; ?></option>\
            <option value="date3"><?php echo $start3; ?></option>\
            <option value="date4"><?php echo $start4; ?></option>\
            <option value="date5"><?php echo $start5; ?></option>\
            <option value="date6"><?php echo $start6; ?></option>\
            <option value="date7"><?php echo $start7; ?></option>\
        </select>');
    } 
 }); 
}).val('day');

或者使用我在这里给你的第二个解决方案:Display php using javascript

答案 1 :(得分:0)

您的字符串连接错误。试试这个

正在使用 demo

$('#dates').html('<select name="date">'+
            '<option value="date1"><?php echo $start1; ?></option>'+
            '<option value="date2"><?php echo $start2; ?></option>'+
            '<option value="date3"><?php echo $start3; ?></option>'+
            '<option value="date4"><?php echo $start4; ?></option>'+
            '<option value="date5"><?php echo $start5; ?></option>'+
            '<option value="date6"><?php echo $start6; ?></option>'+
            '<option value="date7"><?php echo $start7; ?></option>'+
        '</select>');