28.03.2015, 20:46
|
Интересующийся
|
|
Регистрация: 28.03.2015
Сообщений: 10
|
|
вставка функции в скрипт
Всем привет, как вставить функцию в скрипт?? есть два скрипта, один выводит дату, второй выводит меню, как вставить функию даты во второй скрипт? функцию даты надо вставить вот сюда
$("day()").insertBefore("#form_status_added");
или вот на скрине выделил где: http://i.imgur.com/GhdVqC5.png
<script>
function day(){
document.write('<option value="0">день</option>');
var i = 1;
while(i <= 31){
var i1 = i++;
document.write('<option value="' + i1 + '">' + i1 + '</option>');
}
}
function month(){
document.write('<option value="0">месяц</option>');
var month_name = ['', 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'];
var g = 1;
while(g <= month_name.length){
var g1 = g++;
document.write('<option value="' + g1 + '">' + month_name[g1] + '</option>');
}
}
</script>
<script>
$(function() {
$("#form_status_added").click(function () {
var number_data = $("#form_data_number").text();
number_data++;
$("#form_data_number").html(number_data);
$("day()").insertBefore("#form_status_added");
})
});
</script>
|
|
28.03.2015, 21:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Для чего вы подключаете jQuery?
|
|
28.03.2015, 21:08
|
Интересующийся
|
|
Регистрация: 28.03.2015
Сообщений: 10
|
|
для того чтобы вывести селектор выбора даты в поле которое добавляется динамически (по клику добавить поле)
|
|
28.03.2015, 21:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну да, и посредством document.write? Зачем же вы подключаете эти десятки КБ, если не используете ее возможности?
$("day()") до такого догадаться....
|
|
28.03.2015, 21:16
|
Интересующийся
|
|
Регистрация: 28.03.2015
Сообщений: 10
|
|
я только учусь в javascript, подскажите, если не составит труда, как сделать правильно, чтобы заработало?
|
|
28.03.2015, 21:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Выбрасывайте это, и начинайте думать заново. Функция day должна возвращать список, который и можно будет вставить в необходимое. Но что вы делаете в этой функции:
while(i <= 31){
var i1 = i++;
Это по какому такому календарю? В месяце может может быть 30 и 31, 28 и 29 дней. И это не прихоти JS, это календарь, которым мы пользуемся.
|
|
28.03.2015, 21:49
|
Интересующийся
|
|
Регистрация: 28.03.2015
Сообщений: 10
|
|
<script>
$(function() {
$("#form_status_added").click(function () {
var number_data = $("#form_data_number").text();
number_data++;
$("#form_data_number").html(number_data);
$("<div class='param'><select name='input_name[10]' id='month' onchange='days()'><?php echo $monthOptions; ?> </select></div>" ).insertBefore("#form_status_added");
}) });
</script>
<?php
$monthOptions = '<option value="0">Месяц</option>';
$dayOptions = '<option value="0">День</option>';
$yearOptions = '<option value="0">Год</option>';
$monthName = array(null,"Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
foreach ($monthName as $key){
for($month=0;$month<count($key);$month++)
{
$monthName = date("F", mktime(0, 0, 0, $month));
$monthOptions .= "<option value=\"{$month}\">{$key}</option>\n";
}}
for ($day=1;$day<=31;$day++)
{
$dayOptions .= "<option value=\"{$day}\">{$day}</option>\n";
}
for ($year=2013;$year>=1920;--$year)
{
$yearOptions .= "<option value=\"{$year}\">{$year}</option>\n";
}
?>
<script type="text/javascript">
function days() {
var monthSel = document.getElementById('month').value;
var daySel = document.getElementById('day');
var dayInmonth = 31;
if (monthSel == 2)
{
dayInmonth = 29;
}
else if (monthSel == 4 || monthSel == 6 || monthSel == 9 || monthSel == 11)
{
dayInmonth = 30;
}
if (daySel.options.length > daysInmonth)
{
daySel.options.length = daysInmonth;
}
while (daySel.options.length != daysInmonth)
{
daySel.options[daySel.length] = new Options(daySel.length+1, daySel.length+1, false);
}
return;
}
</script>
вот другой код, но опять не выводится функция
|
|
28.03.2015, 22:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
|
|
28.03.2015, 22:02
|
Интересующийся
|
|
Регистрация: 28.03.2015
Сообщений: 10
|
|
я его использовал, но он не работает кода я нажимаю добавить новое поле
|
|
28.03.2015, 22:04
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Это не код, это даже названия не имеет. Вы знаете что такое календарь? И РНР, и Javascript имеют средства для работы с календарными данными, а то что вы представили, это нечто неописуемое.
Могу помочь вам только в одном - дать ссылки для изучения этого материала.
И да, не может быть в JS сценарии такого:
$("<div class='param'><select name='input_name[10]' id='month' onchange='days()'><?php echo $monthOptions; ?> </select></div>" ).insertBefore("#form_status_added");
если этот код не вывод РНР, а если все-таки его вывод то переменная $monthOptions; должна быть определена до вывода.
|
|
|
|