Заполнение и проверка ячеек таблицы
Строится след динамическая таблица (размерность 4xn). Ячейки таблицы заполняются от 0 до n (n- число из inputа с id="cols").
Необходимо чтобы 2 строка заполнялась от 0 до n как сейчас, а 4 строка по формуле , где p=0,5;q=0,5;n=число из inputа с id="cols", k=номер ячейки в таблице.Код:
|
MrSmitt,
Ты же можешь в своем makeRow сделать проверку на === 4 и в таком случае заполнять строку по другому правилу и если у тебя p === q то в схеме бернулли можно(логично) оставить p c показателем "n" |
Не понял насчёт makeRow, которые фактически участвует в заполнении 0 и 2 строк таблицы заголовками-буквами.
В моём понимании , нужно изменить часть кода
for (var i = 0; i < count; i++) {
if (this[0].tagName === 'TD') {
this.html(i)
}
$.merge(tmp, this.clone().get());
}
(в котором идёт заполнение по числу колонок count), так чтобы проверялась строка "tr:odd:first" Rise, ![]() |
MrSmitt,
Ну вот же у тебя есть
for (var i = 0; i < opts.row; i++) {
table.append(methods.makeRow(i));
}
и opts.row у тебя == 2 Ты в цикле передаешь индекс i в метод makeRow Что тебе мешает проверить этот индекс на === 4 (или сколько тебе там надо) прежде чем делать return |
Rise,
Хотел делать проверки в makeRow (if i===0) и (if i===1) и соответственно возвращать условно говоря duplicate или ново написанный duplicate2 , но Ваш вариант оказался более лаконичен. Что касается формулы, можно ли написать функцию для вычисления факториала
$.fn.factorial=function(i){
if(i==0 || i==1)
{return 1;}
else {
return(i*factorial(i-1));
}
};
и как его следует вызвать здесь? this.html(/* по формуле */); |
factorial jquery
MrSmitt,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$.fn.factorial = function(m_x) {
function f_Factorial(m_x) {
if (m_x == 0 || m_x == 1) return 1;
else return m_x * f_Factorial(m_x - 1)
}
var Factorial = f_Factorial(m_x);
return this.length ? $(this).text(Factorial) : Factorial
};
$("div").factorial(5).css({
color: "#FF0000"
});
$("p").text($.fn.factorial(4)).css({
color: "#FF00FF"
})
});
</script>
</head>
<body>
<div></div>
<div></div>
<p></p>
<p></p>
</body>
</html>
|
рони,
благодарю, а не могли бы разъяснить 19 строку? Rise, такой вызов в купе с факториалом из поста #9 не сработал,поэтому и задал вопрос. А вот так получилось this.html($.fn.factorial(i)); |
Цитата:
|
Цитата:
this.factorial(i) |
рони,
Спасибо за пояснения, не учёл, что обычного return (15, 16 строка) недостаточно и нужно выйти из "цикла" (14). А как следует проверять значения в ячейках? Т.е. то, что допустим в 4 ряду во 2й ячейке именно то значение, которое посчиталось в $.fn.duplicate = function (count, row) иначе alert? |
| Часовой пояс GMT +3, время: 01:29. |