如何从动态数据下拉列表中显示选择选项

时间:2016-10-26 05:41:06

标签: javascript php jquery html css

我的概念是进行信用卡验证。在信用卡年度,数据应根据当前年份动态生成..它应该只显示即将来临的年份。     例如。我们在2016年..所以下拉数据将显示为2016年至2040年......下拉数据是动态的..我已经实现了它..但是,我的问题是显示"选择选项&# 34;

我想首先显示选择选项以执行验证..给我一些想法来做到这一点..     这是我的示例代码..



<select id="ccyear" name="ccyear"></select><br>
    <span>
    <script>
    var start =new Date().getFullYear();
    var end = new Date().getFullYear() + 24;
    var options = "";
	for(var year = start ; year <=end; year++)
	{
    options += "<option>"+ year +"</option>";
	}
	document.getElementById("ccyear").innerHTML = options;
    </script>
    </span>
&#13;
&#13;
&#13;

7 个答案:

答案 0 :(得分:3)

尝试这个......

&#13;
&#13;
<select id="ccyear" name="ccyear"></select><br>
    <span>
    <script>
   var start =new Date().getFullYear();
   var end = new Date().getFullYear() + 24;
   var options = "";
   var i = 0;
   for(var year = start ; year <=end; year++)
   {
	 if (i == 0){
		options += "<option selected>Select option</option>";
		i++;
	 } else {
		options += "<option value="+ year+">"+ year +"</option>";
     }

 }
document.getElementById("ccyear").innerHTML = options;
</script>
    </span>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

将此var options = "";行更改为var options = "<option>Select Option</option>";

<select id="ccyear" name="ccyear"></select><br>
    <span>
    <script>
    var start =new Date().getFullYear();
    var end = new Date().getFullYear() + 24;
    var options = "<option>Select Option</option>";
	for(var year = start ; year <=end; year++)
	{
    options += "<option>"+ year +"</option>";
	}
	document.getElementById("ccyear").innerHTML = options;
    </script>
    </span>

答案 2 :(得分:1)

onchange事件很容易获得用户选择的价值

<select id="ccyear" name="ccyear" onchange="test()"></select><br>
    <span>
    <script>
     ( function (){
    var start =new Date().getFullYear();
    var end = new Date().getFullYear() + 24;
    var options = "";
	for(var year = start ; year <=end; year++)
	{
    options += "<option>"+ year +"</option>";
	}
	document.getElementById("ccyear").innerHTML = "<option>Select option</option>"+options;
       console.log( document.getElementById("ccyear").value);
        })()
     function test(){
        console.log( document.getElementById("ccyear").value);
       }
    </script>
    </span>

答案 3 :(得分:1)

改变这个:

var options = "";

到此:

var options = "<option>Select Option</option>";

Here is the JSFiddle demo

答案 4 :(得分:1)

我认为这对您有用

<select id="ccyear" name="ccyear">
    <option value=''> Select Project </option>
</select><br>
<script>
var start =new Date().getFullYear();
var end = new Date().getFullYear() + 24;
var options = "";
for(var year = start ; year <=end; year++)
{
options += "<option>"+ year +"</option>";
}
document.getElementById("ccyear").innerHTML = "<option value=''> Select Option </option>"+options;
</script>

答案 5 :(得分:1)

你可以使用jQuery的append函数来做到这一点。 另外,我建议为每个选项元素提供一个value属性。

您的代码看起来像这样。

var start = new Date().getFullYear();
var end = start + 24;
for (var year = start; year <= end; year++) {
  console.log("loop");
  $("#ccyear").append('<option value="' + year + '">' + year + '</option>');
}

您可以在这里查看代码 https://jsfiddle.net/arijitkanrar/pfgwa2n2/

答案 6 :(得分:0)

如果您正在使用php,那么为什么不尝试使用php script

试试这个php代码 -

<?php
date_default_timezone_set('Asia/Kolkata');
$current_year = date('Y');
$end_year = date('Y', strtotime('+24 year'));

$select = '<select id="ccyear" name="ccyear">';
for($i = $current_year; $i <= $end_year; $i++)
    $select .= '<option value="'.$i.'">'.$i.'</option>';

$select .= '</select>';

echo $select;
?>