13.02.2013, 11:27
|
|
Интересующийся
|
|
Регистрация: 23.01.2013
Сообщений: 14
|
|
Создание первого скрипта
Добрый вечер, никогда с программированием не сталкивался, только изучал материал представленный на этом сайте.
Идея в том чтобы заменить прайс лист (картинка во вложении) на сайте джава скриптом (фотка хтмл документа во вложении).
Как должно работать: при выборе строки 3 и столбца 200 и при нажатие на кнопку "рассчитать" в ответе появятся число соответствующее число
по картинке "160".
или при выборе 1 строки и 100 столбца в ответе появятся число 125.
Как лучше сделать??
Составить 3 массива: для строк (1 - 6), для столбцов (50 - 1000), для ответов со значением 130 до 92 (см код),
и воспользоватся "if", чтобы при выборе строки "1-6" и столбцов "50-1000" выводилось подходящее значение из массива "answer" в окошко "total".
Или таким способом вообще не получится?
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
</style>
<script type="text/javascript">
var base = [50,100,200,300,400,500,600,700,800,1000];
var time = [1,2,3,4,5,6,];
var answer = [[130,115,104,89,83,75,75,69,67,63],
[167,140,125,103,93,85,79,77,75,69],
[200,167,160,118,105,95,87,84,81,75],
[234,192,183,132,120,100,95,91,89,79]
[267,218,206,146,139,110,101,98,95,85]
[300,244,230,160,150,120,108,105,101,92]]
function calc() {
document.getElementById('total').value=rez;
};
</script>
</head>
<body>
<form>
<div>
<table width="532" border="0" align="center">
<tbody>
<tr>
<td width="256">50 - 1000</td>
<td width="260">
<select name="column" id="column">
<option value="0">от 50</option>
<option value="1">от 100</option>
<option value="2">от 200</option>
<option value="3">от 300</option>
<option value="4">от 400</option>
<option value="5">от 500</option>
<option value="6">от 600</option>
<option value="7">от 700</option>
<option value="8">от 800</option>
<option value="9">от 1000</option>
</select>
</td>
</tr>
<tr>
<td>1 - 6</td>
<td>
<select name="hours" id="colum1">
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
<option value="3">4</option>
<option value="4">5</option>
<option value="5">6</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="button" value="Рассчитать" onclick="calc();">
<input type="reset" value="Сброс">
</td>
</tr>
<tr>
<td>Итого: </td>
<td><input name="total" id="total" type="text" size="8"></td>
</tr>
</tbody>
</table>
</div>
</form>
</body>
</html>
|
|
13.02.2013, 13:39
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от SleepWalker15
|
при выборе строки 3 и столбца 200 и при нажатие на кнопку "рассчитать" в ответе появятся число соответствующее число
по картинке "160".
|
Вроде как на картинке так...
Сообщение от SleepWalker15
|
при выборе 1 строки и 100 столбца в ответе появятся число 125
|
На картинке уже 115!
Нипанятна.
|
|
13.02.2013, 13:43
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от SleepWalker15
|
Составить 3 массива
|
Если делать "как в табличке, что на картинке" - хватит и двух массивов...
var base = [50,100,200,300,400,500,600,700,800,1000];
var answer = [
[130,115,104,89,83,75,75,69,67,63],
[167,140,125,103,93,85,79,77,75,69],
[200,167,160,118,105,95,87,84,81,75],
[234,192,183,132,120,100,95,91,89,79]
[267,218,206,146,139,110,101,98,95,85]
[300,244,230,160,150,120,108,105,101,92]
];
|
|
13.02.2013, 14:04
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Что-то типа такого...
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var base = [50,100,200,300,400,500,600,700,800,1000];
var a = [
[130,115,104,89,83,75,75,69,67,63],
[167,140,125,103,93,85,79,77,75,69],
[200,167,160,118,105,95,87,84,81,75],
[234,192,183,132,120,100,95,91,89,79],
[267,218,206,146,139,110,101,98,95,85],
[300,244,230,160,150,120,108,105,101,92]
];
$(document).ready(function (){
(function (){
var o=$('#s1');
var i;
o.append('<option value=""></option>')
for (i=0; i<a.length; i++) {
o.append('<option value="'+i+'">'+(i+1)+'</option>')
};
o=$('#s2')
o.append('<option value=""></option>')
for (i=0; i<base.length; i++) {
o.append('<option value="'+i+'">От '+base[i]+'</option>')
};
})();
$('select').change(function (){
var s1=$('#s1').val();
var s2=$('#s2').val();
if (s1==''||s2=='') return;
$('#itg').text(a[s1][s2]);
});
});
</script>
</head>
<body>
<select id='s1'></select>
<select id='s2'></select>
<p>Итого: <span id='itg'></span></p>
</body>
</html>
|
|
14.02.2013, 09:30
|
Новичок на форуме
|
|
Регистрация: 13.02.2013
Сообщений: 6
|
|
И все же, друзья! Могли бы вы выложить вариант с 3 массивами, т.е. если столбец не по порядку идет а произвольные цифры
|
|
14.02.2013, 09:58
|
Новичок на форуме
|
|
Регистрация: 13.02.2013
Сообщений: 6
|
|
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var base = [15,100,200,300,400,500,600,700,800,1000];
var time = [1,2,5,6,7,];
var a = [
[130,115,104,89,83,75,75,69,67,63],
[167,140,125,103,93,85,79,77,75,69],
[200,167,160,118,105,95,87,84,81,75],
[234,192,183,132,120,100,95,91,89,79],
[267,218,206,146,139,110,101,98,95,85],
[300,244,230,160,150,120,108,105,101,92]
];
$(document).ready(function (){
(function (){
var o=$('#s1');
var i;
o.append('<option value=""></option>')
for (i=0; i<time.length; i++) {
o.append('<option value="'+i+'">'+time[i]+'</option>')
};
o=$('#s2')
o.append('<option value=""></option>')
for (i=0; i<base.length; i++) {
o.append('<option value="'+i+'">От '+base[i]+'</option>')
};
})();
$('select').change(function (){
var s1=$('#s1').val();
var s2=$('#s2').val();
if (s1==''||s2=='') return;
$('#itg').text(a[s1][s2]);
});
});
</script>
</head>
<body>
<select id='s1'></select>
<select id='s2'></select>
<p>Итого: <span id='itg'></span></p>
</body>
</html>
Вроде работает
|
|
14.02.2013, 10:01
|
Новичок на форуме
|
|
Регистрация: 13.02.2013
Сообщений: 6
|
|
А как сделать вместо цифр текст допустим в массиве base 15=Автомобиль, 100=автобус и т.д.
|
|
14.02.2013, 10:58
|
|
Интересующийся
|
|
Регистрация: 23.01.2013
Сообщений: 14
|
|
|
|
14.02.2013, 11:03
|
|
Интересующийся
|
|
Регистрация: 23.01.2013
Сообщений: 14
|
|
а как заменить вот эти цифры??
То есть редактировать атрибуты option в теге select
Последний раз редактировалось SleepWalker15, 14.02.2013 в 11:07.
|
|
14.02.2013, 11:09
|
Новичок на форуме
|
|
Регистрация: 13.02.2013
Сообщений: 6
|
|
Да нашел решение
var time = ['Яблоко','Груша','Вишня','Слив а','Слива1','Слива2'];
Вместо цифр слова... Вроде работает...
|
|
|
|