2011-08-19 77 views
0
<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?PHP列表不会显示在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>'); 
+1

显示我们产生实际的标记。浏览器很可能会在你尝试构建的多行字符串文字中填满换行符。清理解决方法:http://stackoverflow.com/questions/805107/multiline-strings-in-javascript/805755#805755 –

+0

该代码来自他以前的问题:http://stackoverflow.com/questions/7126039/display-php -using-javascript –

+0

@Matt Ball - 我的钱反对这个问题。我在等待看到该标记,但我打赌$ start变量包含HTML字符的意外。 – Malvolio

回答

1

既然你正在收听的change事件,您的名单将只显示,如果你选择eveningweekend,然后改回day

您可以强制初始负载的变化:

$("#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

+0

我确实改变它从白天到晚上到白天,它不会工作。 – Osman

+0

http://aliahealthcare.com/applicationapp.php你可以亲眼看到 – Osman

+0

@ user860869你的语法错误:'$(document).ready(function(){'。第二个'{'是额外的,并且是什么导致你的Javascript错误 –

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>'); 
+0

@ user860869 - 试试这个答案,你错过了单引号,因为字符串是不正确的,并且在页面上必须有js错误。在控制台 – ShankarSangoli

+0

试过这个,没有工作,问题不在列表中,它让它出现在html中 – Osman

+0

你在投票之前检查了演示吗? – ShankarSangoli