如何将 3 select 个列表合并到一个输入文本字段中
How to combine 3 select lists into a single input text field
我有 3 个 select 出生日期列表(一个用于日、月和年)。
我需要将这些列表的 selected 选项输出到将隐藏在页面上的输入文本字段中。
<SELECT class="combine" id ="date" name = "dd"></SELECT>
<SELECT class="combine" id ="month" name = "mm"></SELECT>
<SELECT class="combine" id ="year" name = "yyyy" ></SELECT>
<input type="text" id="DOB" name="Dob" value="" />
理想情况下,我希望将这些解析为一个变量,然后可以将其转换为字符串并输出到隐藏的输入文本字段中。
第二部分是将月份更改为发送到隐藏输入字段的数据中的数值。这一切都需要在更改的基础上完成,而不是点击。
不幸的是,我是 js 和 jquery 的新手,非常感谢您对此提供的所有帮助。
编辑以添加控制日期的 Js 文件代码....
/***********************************************
* Drop Down Date select script- by JavaScriptKit.com
* This notice MUST stay intact for use
* Visit JavaScript Kit at http://www.javascriptkit.com/
for this script and more
* WARNING -------------------------------------------------------!-
* This javascript has been modified by *bdhacker* for real life use
* ishafiul@gmail.com
* http://bdhacker.wordpress.com
***********************************************/
var monthtext= ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
function date_populate(dayfield, monthfield, yearfield){
var today=new Date();
var dayfield=document.getElementById(dayfield)
var monthfield=document.getElementById(monthfield)
var yearfield=document.getElementById(yearfield)
for (var i=0; i<31; i++)
dayfield.options[i]=new Option(i+1, i+1)
dayfield.options[today.getDate()]=new Option(today.getDate(), today.getDate(), true, true) //select today's day
for (var m=0; m<12; m++)
monthfield.options[m]=new Option(monthtext[m], monthtext[m])
monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], monthtext[today.getMonth()], true, true) //select today's month
var thisyear=today.getFullYear()
for (var y=0; y<100; y++){
yearfield.options[y]=new Option(thisyear, thisyear)
thisyear-=1
}
yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year
}
使用 jQuery,将 onchange
事件侦听器添加到 select
标签,如下所示:
$(document).ready(function(){
$('.combine').on('change', function(){
var date = $('#date').val() + '/' + $('#month').val() + '/' + $('#year').val();
$('#DOB').val(date);
});
})
看到它在这个 JSFiddle 中工作。
我有 3 个 select 出生日期列表(一个用于日、月和年)。
我需要将这些列表的 selected 选项输出到将隐藏在页面上的输入文本字段中。
<SELECT class="combine" id ="date" name = "dd"></SELECT>
<SELECT class="combine" id ="month" name = "mm"></SELECT>
<SELECT class="combine" id ="year" name = "yyyy" ></SELECT>
<input type="text" id="DOB" name="Dob" value="" />
理想情况下,我希望将这些解析为一个变量,然后可以将其转换为字符串并输出到隐藏的输入文本字段中。
第二部分是将月份更改为发送到隐藏输入字段的数据中的数值。这一切都需要在更改的基础上完成,而不是点击。
不幸的是,我是 js 和 jquery 的新手,非常感谢您对此提供的所有帮助。
编辑以添加控制日期的 Js 文件代码....
/***********************************************
* Drop Down Date select script- by JavaScriptKit.com
* This notice MUST stay intact for use
* Visit JavaScript Kit at http://www.javascriptkit.com/
for this script and more
* WARNING -------------------------------------------------------!-
* This javascript has been modified by *bdhacker* for real life use
* ishafiul@gmail.com
* http://bdhacker.wordpress.com
***********************************************/
var monthtext= ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
function date_populate(dayfield, monthfield, yearfield){
var today=new Date();
var dayfield=document.getElementById(dayfield)
var monthfield=document.getElementById(monthfield)
var yearfield=document.getElementById(yearfield)
for (var i=0; i<31; i++)
dayfield.options[i]=new Option(i+1, i+1)
dayfield.options[today.getDate()]=new Option(today.getDate(), today.getDate(), true, true) //select today's day
for (var m=0; m<12; m++)
monthfield.options[m]=new Option(monthtext[m], monthtext[m])
monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], monthtext[today.getMonth()], true, true) //select today's month
var thisyear=today.getFullYear()
for (var y=0; y<100; y++){
yearfield.options[y]=new Option(thisyear, thisyear)
thisyear-=1
}
yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year
}
使用 jQuery,将 onchange
事件侦听器添加到 select
标签,如下所示:
$(document).ready(function(){
$('.combine').on('change', function(){
var date = $('#date').val() + '/' + $('#month').val() + '/' + $('#year').val();
$('#DOB').val(date);
});
})
看到它在这个 JSFiddle 中工作。