想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,值就为2005~2015
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,值就为2005~2015相关的知识,希望对你有一定的参考价值。
想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,下拉框的值就为2005~2015,如果当前年份为2008年,下拉框的值就为2003~2013。请问这个js应该怎样写啊?
请大家测试下再回答哈,2楼提的就完全不对嘛!
<script type="text/javascript">
var now = new Date();
var year=now.getFullYear()-5;
document.write("<select name='_sName'>");
for(var a=1;a<=10;a++)
document.write("<option>"+year+"</option>");
year=year+1;
document.write("</select>");
</script> 参考技术A <script type="text/javascript">
var now = new Date();
var year=now.getYear();
document.write("<select name='_sName'>");
for(var a=1;a<=5;a++)
document.write("<option value="+value+">"+year+"</option>");
year=year+1;
document.write("</select>");
</script>
根据下拉值自动填充文本框
【中文标题】根据下拉值自动填充文本框【英文标题】:Auto fill text box depending on Drop Down value 【发布时间】:2012-10-31 22:35:59 【问题描述】:这可能是一个愚蠢的问题,但我想澄清一下如何解决这个问题。我遇到过很多文章,它们可以根据使用 jQuery 和 Ajax 在下拉菜单中所做的选择来设置文本框的值。我的问题是当我尝试根据 5 个下拉菜单中的选择做同样的事情时。我将 Id 值存储在数据库中,该值应用于填充文本框。任何人都可以指导如何通过多个下拉菜单解决这个问题。到目前为止,这是我的代码:
<?php
$sql1="SELECT Schlungen FROM schulung as s";
$result=mysql_query($sql1);
echo "<p align='left'> <strong>Schulung 1</strong> <select name='Schlungen1'> <option value default></option>";
while ($row = mysql_fetch_array($result))
echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
echo "</select>";
?>
<?php
error_reporting(0);
//Drop Down for Schulung 2
$sql2="SELECT Schlungen FROM schulung as s";
$result=mysql_query($sql2);
echo "<p align='left'> <strong>Schulung 2</strong> <select name='Schlungen2'> <option value default></option>";
while ($row = mysql_fetch_array($result))
echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
echo "</select>";
?>
<?php
error_reporting(0);
//Drop Down for Schulung 3
$sql3="SELECT Schlungen FROM schulung as s";
$result=mysql_query($sql3);
echo "<p align='left'> <strong>Schulung 3</strong> <select name='Schlungen3'> <option value default></option>";
while ($row = mysql_fetch_array($result))
echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . "</option>";
echo "</select>";
?>
<?php
error_reporting(0);
//Drop Down for Schulung 4
$sql4="SELECT Schlungen FROM schulung as s";
$result=mysql_query($sql4);
echo "<p align='left'> <strong>Schulung 4</strong> <select name='Schlungen4'><option value default></option>";
while ($row = mysql_fetch_array($result))
echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
echo "</select>";
?>
<?php
error_reporting(0);
//Drop Down for Schulung 5
$sql5="SELECT Schlungen FROM schulung as s";
$result=mysql_query($sql5);
echo "<p align='left'> <strong>Schulung 5</strong> <select name='Schlungen5'><option value default></option>";
while ($row = mysql_fetch_array($result))
echo "<option value='" . $row['Schlungen'] . "'>" . $row['Schlungen'] . " </option>";
echo "</select>";
?>
<p align="left"><strong>Access_level </strong>
<input type="text" name="a_level" disabled="disabled">
</p>
【问题讨论】:
你能告诉我输出的样子吗? 【参考方案1】:为了实现自动完成,您可以在 html 文件中创建一个选择字段,在 keyup 事件上调用 javascript 函数并使用 jQuery 调用您的 php 文件
<html>
<head>
<script>
$('.autosuggest').keyup(function()
$.post("<your file.php>",any data you need,function(data)
//echo the data
//echo "<option value='" . $row['Schlungen'] . "'>" . //$row['Schlungen'] ." </option>";
$('.result').html(data)
);
);
$('.result option').click(function()
var rValue = $(this).text();
$('.autosuggest').attr('value',rValue);
$('.result').html('');
);
</script>
</head>
<body>
<input type='text' class='autosuggest'/>
<select class='result'>
</select>
</body>
</html>
【讨论】:
【参考方案2】:尝试将每个 html 选择选项的值设置为该文本的 id
所以回声应该是
echo "<option value='" . $row['id'] . "'>" . $row['Schlungen'] . " </option>";
然后在 html 上选择添加事件 onchange 并添加 JS 函数 foo() 通过使用 JQuery 或 Javascript 从页面获取所有选定的 id 来填充隐藏的输入
您还必须为每个 html 选择添加 id 或类以轻松获取其选定值
$("#select1").val();
$("#select2").val(); ...
然后将这些值插入隐藏输入字段中,以便隐藏输入现在包含所有选定的 id
【讨论】:
以上是关于想用JS做一个下拉框,下拉框里的值根据当前年份自动往前和往后添加5年,如当前是2010年,值就为2005~2015的主要内容,如果未能解决你的问题,请参考以下文章
robot framework + selenium 如何处理此类的下拉框 如何选中下拉框里的值
easyui combobox下拉框中显示大于号小于号的问题