Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Тэг "<select>", событие onchange или onclick (https://javascript.ru/forum/misc/39840-tehg-select-sobytie-onchange-ili-onclick.html)

Kaleos 14.07.2013 11:41

Тэг "<select>", событие onchange или onclick
 
Здравствуйте.

Есть файл index.php:

<?php
ini_set('display_errors', true);
error_reporting(-1);
echo '<!doctype html>';
echo '<html>';
echo '<head>';
echo '<title></title>';
echo '<script type=\'text/javascript\' src=\'JavaWindows1.js\'></script>';
//echo '<script type=\'text/javascript\' src=\'JavaWindows2.js\'></script>';
echo '<style>.table {border-collapse:collapse;border:1px solid #00280e}</style>';
echo '<style>td.score {font-size: 11pt; text-align:center; width: 5%}</style>';
echo '<style>td.team_league {font-size: 12pt; text-align left; width: 40%}</style>';
echo '<style>.select { width: 120px; height: 23px; background: #E7EFF5}</style>';
echo '</head>';
echo '<body>';
    ...
    ...
echo '<select id = \'date\' class = \'select\'>';
echo '<option value ="1">11.04.2013</option>';
echo '<option value = "2" selected=\'selected\'>12.04.2013</option>';
echo '</select>';
?>


В JavaScript пока новичек.

1)Подскажите можно ли при выборе из "Select" значения, выбрать один из файлов(строки)
в разделе "Head", a именно:
1.echo '<script type=\'text/javascript\' src=\'JavaWindows1.js\'></script>';
ИЛИ
2.echo '<script type=\'text/javascript\' src=\'JavaWindows2.js\'></script>';
может как-то условие поставить

2) Также у меня формируется таблица со значениями из csv файла:


$fr = fopen("C:\Users\Public\Apache\htdocs\Main\List1.csv", "r");


Нужно при изменении значения в select подставлялся другой csv файл (например List2) и обновлялась таблица с новыми значениями из List2.

При выборе из select пункты 1) и 2) должны работать одновременно.

Похоже прошу многого, подскажите хотябы куда "копать"?

danik.js 14.07.2013 11:49

Цитата:

Сообщение от Kaleos
выбрать один из файлов(строки)

Строки формирует сервер, а селект отображается в браузере. Нельзя повернуть время в спять. Тут нужно вообще думать иначе.

Kaleos 14.07.2013 11:53

Цитата:

Сообщение от danik.js (Сообщение 262196)
Строки формирует сервер, а селект отображается в браузере. Нельзя повернуть время в спять. Тут нужно вообще думать иначе.

Да, тоже думаю что-то концептуально менять.

danik.js 14.07.2013 11:54

Цитата:

Сообщение от Kaleos
Нужно при изменении значения в select подставлялся другой csv файл (например List2) и обновлялась таблица с новыми значениями из List2.

Где код? В селект нельзя засунуть файл. Как ты себе это представляешь? Для этого есть <input type=file>

И еще вопрос: нахрена всю разметку выводить через целую кучу echo ?
Первый день программируешь чтоли?

Kaleos 14.07.2013 12:04

Цитата:

Сообщение от danik.js (Сообщение 262198)
Где код? В селект нельзя засунуть файл. Как ты себе это представляешь? Для этого есть <input type=file>

И еще вопрос: нахрена всю разметку выводить через целую кучу echo ?
Первый день программируешь чтоли?

Разметку в echo потому что в середине кода у меня таблица формируется в цикле php, пробовал php цикл вставить в html что-то не работал, сделал всю разметку echo.

Весь код index.php:

<?php
	ini_set('display_errors', true);
	error_reporting(-1);
	echo '<!doctype html>';
	echo '<html>';
	echo '<head>';
	echo '<script type="text/javascript">';
		echo 'function OnSelectionChange (select)';
			echo '{';
	 			echo 'var selectedOption = select.options[select.selectedIndex];';
	  			echo 'alert ("The selected option is " + selectedOption.value);';
			echo '}';
	echo '</script>';
	echo '<title></title>';
	echo '<script type=\'text/javascript\' src=\'JavaWindows.js\'></script>';
	//echo '<script type=\'text/javascript\' src=\'JavaWindows1.js\'></script>';
	echo '<style>.table {border-collapse:collapse;border:1px solid #00280e}</style>';
	echo '<style>td.score {font-size: 11pt; text-align:center; width: 5%}</style>';
	echo '<style>td.team_league {font-size: 12pt; text-align left; width: 40%}</style>';
	echo '<style>.select { width: 120px; height: 23px; background: #E7EFF5}</style>';
	echo '</head>';
	echo '<body>';
	echo '<table cellspacing=\'0\' class=\'table\' border=\'1\' width=\'80%\' align=\'center\'>';
		echo '<tr>';
			echo '<td width=\'200\'>';
				echo '1';
			echo '</td>';
			echo '<td>';
				echo '1';
			echo '</td>';
			echo '<td width=\'100\'>';
				echo '1';
			echo '</td>';
	   echo '</tr>';
	   echo '<tr>';
		  	echo  '<td width=\'200\'>';
				echo'3';
			echo '</td>';
		echo '<td>';
		echo '<table border = \'0\' cellspacing=\'0\' width= \'600\'>';
			echo '<tr>';
				echo '<td>';
					echo '<table cellspacing=\'0\' class=\'table\' bgcolor = \'#aeaaa2\' width=\'633\'>';
						echo '<tr>';
							echo '<td>';
								echo '<select id = \'date\' class = \'select\' onchange=\'OnSelectionChange (this)\'>';
  									echo '<option value ="1">11.04.2013</option>';
 									echo '<option value = "2" selected=\'selected\'>12.04.2013</option>';
								echo '</select>';
							echo '</td>';
						echo '</tr>';
					echo '</table>';
				echo '</td>';
			echo '</tr>';
		echo '</table>';
		//--------------------------------------------
			$fr = fopen("C:\Users\Public\Apache\htdocs\Main\Game_List.csv", "r");
			$i = 1;
			$country = '';
			$league = '';
			while (!feof($fr))
				{
					$arrM = explode(";",fgets($fr));
					if ($arrM[1] <> $league)
						{	
							echo '<table border = \'0\' cellspacing=\'0\' width= \'600\'>';
								echo '<tr>';
									echo '<td>';
										echo '<table cellspacing=\'0\' class=\'table\' bgcolor = \'#ac2617\' width=\'633\'>';
											echo '<tr><td style="background: #ac2617; color: #fff;"><font face=\'Times New Roman\'>'.$arrM[0].': '.$arrM[1].'</font></td></tr>';
										echo '</table>';
									echo '</td>';
								echo '</tr>';
							echo '</table>';
						}
						echo '<table cellspacing=\'0\' width= \'600\'>';
							echo '<tr>';
								echo '<td class = \'score\'bgcolor = \'#aeaaa2\' >';
									echo '16:00';
								echo '</td>';
								echo '<td>';
								 	echo '<table class=\'table\' bgcolor = \'#E7EFF5\' border =\'1\' cellspacing=\'0\' width=\'600\'>';
										echo '<tr>';
											echo '<td class = \'team_league\'>';
												echo  '<font face=\'Calibri\'>'.$arrM[3].'</font>';	
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '102';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
										echo '</tr>';
										echo '<tr>';
											echo '<td  class = \'team_league\'>';
												echo '<font face=\'Calibri\'>'.$arrM[5].'</font>';									
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '122';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											echo '<td class = \'score\'>';
												echo '1';
											echo '</td>';
											
										echo '</tr>';
									echo '</table>';
								echo '</td>';
									echo '<td width=\'100\'><input type=\'button\' value=\'Chart\' width=\'80\' onclick=\'open_win'.$i.'()\'>';
								echo '</td>';
							echo '</tr>';
						echo '</table>';
						$country = $arrM[0];
						$league = $arrM[1];
						$i++;
					}
				fclose($fr);
				//---------------------------------------
		
		echo '</td>';
		echo '<td width=\'200\'>1</td>';
    echo '</tr>';
	echo '</table>';
	echo '</body>';
	echo '</html>';
?>

danik.js 14.07.2013 12:48

Kaleos, ипать... Ну ты и говнокодер ))
Можно же так:
<!DOCTYPE html>
<html>
...тут код
<table>
<?php while .... { ?>
    <tr><td><?php echo $array['bla']; ?></td></tr>
<?php } ?>
</table>

Kaleos 14.07.2013 13:13

Цитата:

Сообщение от danik.js (Сообщение 262205)
Kaleos, ипать... Ну ты и говнокодер ))
Можно же так:
<!DOCTYPE html>
<html>
...тут код
<table>
<?php while .... { ?>
    <tr><td><?php echo $array['bla']; ?></td></tr>
<?php } ?>
</table>

Попробую.

Вопрос:
Можно ли в этой строке:
echo '<td width=\'100\'><input type=\'button\' value=\'button\' width=\'80\' onclick=\'open_win'.$i.'()\'>';

вставить определенный файл java.js на который ссылается событие onclick=\'open_win'.

типа:

echo '<td width=\'100\'><input type=\'button\' value=\'button\' width=\'80\' file = "Java.js" onclick=\'open_win'.$i.'()\'>';

danik.js 14.07.2013 13:58

Прекрати постить свои echo . Сбивает с толку.
Конечно, подключай файл java.js и объявляй любые функции, которые потом можешь вызывать прямо в on*** атрибутах

Kaleos 14.07.2013 14:22

Цитата:

Сообщение от danik.js (Сообщение 262214)
Прекрати постить свои echo . Сбивает с толку.
Конечно, подключай файл java.js и объявляй любые функции, которые потом можешь вызывать прямо в on*** атрибутах

Ok, спасибо

ruslan_mart 14.07.2013 14:30

:D
Зачем столько echo и зачем экранизировать кавычки? Двойные кавычки на что?
Или вообще можно так:
echo <<<EOD
<table>
   <tbody>
      <tr>
          <td id="123"></td>
      </tr>
   </tbody>
</table>

<script type="text/javascript">
   alert('Hellow World!');
</script>

EOD;


Часовой пояс GMT +3, время: 12:01.