Проблемы с интеграцией PHP в скрипт jQuery

У меня проблемы с интеграцией php в jQuery. Я пытаюсь ввести эти три строки в сценарий jQuery.

PHP скрипт (1)

$jquery=NULL;
$h=1;
for($i=1;$i<=3;$i++){
    $jquery .= '
    $("#Line'.$h.'Ball'.$i.'").val(texts['.($i-1).']);';
}

Этот код генерирует текст:

$("#Line1Ball1").val(texts[0]);

$("#Line1Ball2").val(texts[1]);

$("#Line1Ball3").val(texts[2]);

скрипт jQuery

<?php echo '
<script type = "text/javascript">
$(document).ready(function(){
    var limit = 3;
    $("div.SelectionAreaNumbersOne").on("click", "div", function(e){
        e.preventDefault();
        if ($("div.SelectionAreaNumbersOne .selectednumber").length >= limit) {

            if ($("div.SelectionAreaNumbersOne .selectednumber").length == limit) {
                var texts= $("div.SelectionAreaNumbersOne .selectednumber").map(function() { return $(this).text(); }).get();
                '.$jquery.'
            }

            if ($(this).hasClass("selectednumber")) { $(this).toggleClass("selectednumber"); }
        }else{
            $(this).toggleClass("selectednumber");
        }
    });
});
</script>';
?>

Однако ручной ввод строк в PHP делает. Вместо того, чтобы создавать линии динамически.

PHP-скрипт (2), который действительно работает.

    $jquery = '
$("#Line1Ball1").val(texts[0]);
$("#Line1Ball2").val(texts[1]);
$("#Line1Ball3").val(texts[2]);
';

Что я делаю неправильно?

Обновлять

эхо PHP 1

<script type = "text/javascript">
$(document).ready(function(){
    var limit = 3;
    $("div.SelectionAreaNumbersOne").on("click", "div", function(e){
        e.preventDefault();
        if ($("div.SelectionAreaNumbersOne .selectednumber").length >= limit) {

if ($("div.SelectionAreaNumbersOne .selectednumber").length == limit) {
    var texts= $("div.SelectionAreaNumbersOne .selectednumber").map(function() { return $(this).text(); }).get();

        $("#Line1Ball1").val(texts[0]);
        $("#Line1Ball2").val(texts[1]);
        $("#Line1Ball3").val(texts[2]);
}

if ($(this).hasClass("selectednumber")) { $(this).toggleClass("selectednumber"); }
        }else{
$(this).toggleClass("selectednumber");
        }
    });

эхо PHP 2

<script type = "text/javascript">
$(document).ready(function(){
    var limit = 3;
    $("div.SelectionAreaNumbersOne").on("click", "div", function(e){
        e.preventDefault();
        if ($("div.SelectionAreaNumbersOne .selectednumber").length >= limit) {

if ($("div.SelectionAreaNumbersOne .selectednumber").length == limit) {
    var texts= $("div.SelectionAreaNumbersOne .selectednumber").map(function() { return $(this).text(); }).get();

        $("#Line1Ball1").val(texts[0]);
        $("#Line1Ball2").val(texts[1]);
        $("#Line1Ball3").val(texts[2]);

}

if ($(this).hasClass("selectednumber")) { $(this).toggleClass("selectednumber"); }
        }else{
$(this).toggleClass("selectednumber");
        }
    });

Вот мои скрипты кода:

PHP1 (не работает) Вставьте код в https://pastebin.com/h3h3RzHc

PHP2 (работает) Вставьте код https://pastebin.com/fbZwAmJW

Когда вы просматриваете исходный код в своем браузере, что меняется между двумя разными попытками? Есть ли ошибки в консоли отладки вашего браузера? Какой точный клиентский код излучает нерабочая версия?

David 07.12.2018 14:36

@David Ничего не меняется, ошибок нет ... никаких различий я не вижу

James 07.12.2018 14:46

Ясно, что что-то должно быть другим. «Это не работает» на самом деле не сужает проблему. Похоже, вам нужно отладить код на стороне клиента. Используя инструменты отладки вашего браузера, установите точку останова на отказавшем коде. Что происходит, когда вы просматриваете этот код в отладчике браузера?

David 07.12.2018 14:49

«НО это не работает ...» Показать фактические результаты этой команды echo

MihanEntalpo 07.12.2018 14:53

Спасибо за вашу помощь, я просто не могу вам больше дать, потому что не понимаю, почему это не работает. Прошел час «Это не работает» и ругательства, я почти уверен, что сейчас моя голова похожа на Гомера Симпсона.

James 07.12.2018 15:00

Проверьте ID! PHP 1: #Line3Ball2 PHP2: #Line1Ball2

ReSedano 07.12.2018 15:09

@ReSedano в спешке скопировал и вставил не тот источник, хорошо заметный. Тогда я думал, что это решено. Нет, я дважды проверял, все выглядит одинаково.

James 07.12.2018 15:33

@James Я думаю, что первая проблема ваших файлов - это проблема HTML: на вашей странице много тройных идентификаторов. Также ваш <script>: вы утроили все функции. Все это очень запутывает меня ... и компьютер, я думаю. Я советую переделывать страницу, обращая внимание на все эти вещи, избегая всех этих повторений. И если после этой работы ваши функции по-прежнему выдают ошибки, перепишите вопрос еще раз, и мы постараемся вам помочь! Давай, я даю тебе +1, чтобы ободрить тебя! ;-)

ReSedano 07.12.2018 18:55

@ReSedan Оба сценария вставляются с одним и тем же дублированием идентификаторов, один работает, а другой нет, поэтому я не думаю, что это идентификаторы, вызывающие проблему. Все еще плохая практика, и я принимаю это во внимание, не должно быть слишком сложно преобразовать все в класс. ТАКЖЕ для добавления скрипта, который не работает, требуется 4 щелчка мышки для запуска и вставки чисел в Line2Ball1-3 ... в то время как скрипт, который работает, занимает 3 щелчка и вставляется в Line1Ball1-3. Я думаю, что это ошибка JQuery или есть специальные символы, которых я не вижу, но я пробовал все типы комбинаций. К сожалению, мне нужна динамическая версия.

James 08.12.2018 19:25

@James, и твои функции троекратны! Я думаю, что ваш первый статический скрипт работает, потому что у вас есть 3 функции, которые делают то же самое. Но когда вы используете динамический $h, вы переопределяете эти функции с разными значениями и одинаковыми идентификаторами, что еще больше запутывает компьютер. Думаю, в этом проблема. Мой совет - используйте хотя бы одну функцию без повторений: это поможет вам лучше понять, в чем на самом деле проблема.

ReSedano 08.12.2018 19:37

Я думаю, что на это указывалось выше, но для ясности: фраза «это не работает» не является действенным отчетом о неисправности. Как правило, вопрос, который содержит только описание проблемы, что что-то не работает, следует отложить до тех пор, пока он не будет содержать достаточно понятный отчет. Вы бы отредактировали это сообщение при следующем входе в систему, чтобы кто-нибудь мог узнать больше из улучшенных вопросов и ответов?

halfer 12.12.2018 00:16

@halfer ОК, я редактировал

James 14.12.2018 16:14

Возможно, я недостаточно четко сформулировал свой комментарий :-). Да, элемент «не работает» бесполезен и может исчезнуть, но вопрос требует объяснения того, что на самом деле означает «не работает». Что он делает, чего не должен, и что не делает, чего не должен?

halfer 14.12.2018 18:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
13
77
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вместо использования '.$jquery.'
вы должны использовать: <?php echo $jquery; ?>

К сожалению, следовало бы сказать, что весь сценарий jQuery находится в <? Php echo '***'. $ Jquery. ' *** '; ?>

James 07.12.2018 14:42
Ответ принят как подходящий

Как я сказал в своем комментарии, удалив все повторы, код работает.

Самым большим вмешательством было удаление из вашего цикла функций jQuery, создавая только одну функцию, которая работает с каждым div SelectionAreaNumbers на вашей странице.

Я изменил ваш цикл PHP

$jquery=NULL;
$h=1;
for($i=1;$i<=3;$i++){
    $jquery .= '
    $("#Line'.$h.'Ball'.$i.'").val(texts['.($i-1).']);';
}

с jQuery:

var texts = $(".selectednumber", $thisArea).map(function () {
    return $(this).text();
}).get();

$.each(texts, function (i, val) {
    $("input[id$='Ball" + (i + 1) + "']", $thisArea).val(val);
})

Это скрипт jQuery (я старался как можно меньше поменять ваш):

$(document).ready(function () {
    var limit = <?php echo $CompanyStarterSettings['DrawNumberofBalls']; ?>;

    $(".SelectionAreaNumbers").on("click", "div", function (e) {

        e.preventDefault();
        var $this = $(this);
        var $thisArea = $(this).closest(".SelectionAreaNumbers");

        if ($(".selectednumber", $thisArea).length >= limit) {
            if ($this.hasClass("selectednumber")) {
                $this.toggleClass("selectednumber");
            }
        } else {
            $this.toggleClass("selectednumber");
        }

        if ($(".selectednumber", $thisArea).length == limit) {

            var texts = $(".selectednumber", $thisArea).map(function () {
                return $(this).text();
            }).get();

            $.each(texts, function (i, val) {
                $("input[id$='Ball" + (i + 1) + "']", $thisArea).val(val);
            })
        }
    });
});

В PHP я удалил только ваш ID (кроме тех, что указаны во входных данных, не волнуйтесь ;-)).

Это весь ваш файл с php-кодом:

<!DOCTYPE html>
<html>
<head>

    <META http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
    <title></title>
    <META NAME = "description" CONTENT = "">
    <META NAME = "viewport" CONTENT = "width=device-width, initial-scale=1">

    <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <style>
        .NumberSelecton { background:#fff; position:relative; top: 39%; left:20%; width:292px; }
        .NumberTicketsContainer { position: absolute; top: 38%; left:2%; width:49%; }
        .NumberTicketsContainer P { margin:0; text-align: center; font-size: large; letter-spacing:-1px; }
        .NumberTicketsContainer strong { font-weight:normal; }
        .NumberSelectonContainer { position:relative; width:100%; }
        .NumberSelectonContainer .TextArea { position:absolute; top:10px; left:0px; width:100px; }
        .NumberSelectonContainer .SelectionArea { position:relative; }
        .NumberSelectonContainer .SelectionArea .SelectionAreaNumbers { text-align:center; border: 1px solid #222; }
        .NumberSelectonContainer .SelectionArea .SelectionAreaNumbers .GridNumber { display: inline-block; text-align: center; width:27px; height:48px; line-height: 47px; font-weight: 900; cursor: pointer;   border: 1px solid #222; }
        .NumberSelectonContainer .SelectionArea .SelectionAreaNumbers .selectednumber { background:#222; color:#fff; }

    </style>    
</head>
<body>
<div id = "Background">

    <h3>This Script works</h3>


<?php
    function ConvertNumbertoWord($NumbertoWord) {
        switch($NumbertoWord){
            CASE 1:     $NumbertoWord = "One";        break;
            CASE 2:     $NumbertoWord = "Two";        break;
            CASE 3:     $NumbertoWord = "Three";      break;
            CASE 4:     $NumbertoWord = "Four";       break;
            CASE 5:     $NumbertoWord = "Five";       break;
            CASE 6:     $NumbertoWord = "Six";        break;
            CASE 7:     $NumbertoWord = "Seven";      break;
            CASE 8:     $NumbertoWord = "Eigth";      break;
            CASE 9:     $NumbertoWord = "Nine";       break;
            CASE 10:    $NumbertoWord = "Ten";        break;
            CASE 11:    $NumbertoWord = "Eleven";     break;
            CASE 12:    $NumbertoWord = "Twelve";     break;
            CASE 13:    $NumbertoWord = "Thirteen";   break;
            CASE 14:    $NumbertoWord = "Fourteen";   break;
            CASE 15:    $NumbertoWord = "Fifteen";    break;
        }
        return $NumbertoWord;
    }

    echo '
        <div id = "NextDrawCountDown"></div>
        <form name = "" id = "" method = "POST" action = "" onSubmit = "return validateFields()">';

            $DisplayMaximumTickets = 3;
            $CompanyStarterSettings['DrawNumberofBalls'] = 3;
            $CompanyStarterSettings['DrawBallStartNumber'] = 1;
            $CompanyStarterSettings['DrawBallFinishNumber'] = 40;
            $NoTickets = 3;

                $FirstConvertNumbertoWord = 'One';
                $SecondConvertNumbertoWord = 'Two';
                $ThirdConvertNumbertoWord = 'Three';
                $SelectedTicketsOption[$NoTickets] = 'checked';

        for($h=1;$h<=$DisplayMaximumTickets;$h++){

            $TicketOption_Group = 'TicketOptionGroup1';

            echo '
        <div class = "TicketContainer">
        <div class = "Header">
            <div class = "headerone"></div>
            <div class = "headertwo"></div>
        </div>

                <div class = "NumberTicketsContainer">';

            echo '
                </div>
            <div class = "NumberSelecton">
                <div class = "NumberSelectonContainer">
                    <div class = "SelectionArea">
                        <div class = "SelectionAreaNumbers">';

                    for($j=$CompanyStarterSettings['DrawBallStartNumber'];$j<=$CompanyStarterSettings['DrawBallFinishNumber'];$j++){
                        echo '<div class = "GridNumber" >'.$j.'</div>';
                    }

                    for($i=1;$i<=$CompanyStarterSettings['DrawNumberofBalls'];$i++){
                        echo '<input type = "text" name = "LineNumbers[]" id = "Line'.$h.'Ball'.$i.'" class = "test" style = "width:50px;" />'; 
                    }


                echo '
                        </div> <!-- Endof SelectionAreaNumbers -->
                    </div> <!-- Endof SelectionArea -->

                </div> <!-- Endof NumberSelectonContainer -->
            </div> <!-- Endof NumberSelecton-->


            <div class = "WinnerDetailsContainer">
                <div class = "WinnersAdvancePlay">

                <div class = "Footer">
                </div>
               </div> <!-- Endof WinnersAdvancePlay -->
            </div> <!-- Endof WinnerDetailsContainer -->
         </div> <!-- Endof Class TicketContainer -->';

        }

        echo '
        <div id = "SubmitTickets">
            <p class = "right"><input type = "submit" name = "SubmitTicketButton" id = "SubmitTicketButton" class = "SubmitTicketButton" value = "Button" /></p>
        </div> <!-- Endof SubmitTickets -->
        </form>';
?>

    <script type = "text/javascript">
        $(document).ready(function(){
            var limit = <?php echo $CompanyStarterSettings['DrawNumberofBalls']; ?>;

            $(".SelectionAreaNumbers").on("click", "div", function(e){

                e.preventDefault();
                var $this = $(this);
                var $thisArea =$(this).closest(".SelectionAreaNumbers");

                if ($(".selectednumber", $thisArea).length >= limit) {
                    if ($this.hasClass("selectednumber")) { $this.toggleClass("selectednumber"); }
                }else{
                    $this.toggleClass("selectednumber");
                }

                if ($(".selectednumber", $thisArea).length == limit) {

                    var texts= $(".selectednumber", $thisArea).map(function() { return $(this).text(); }).get();

                    $.each(texts, function( i, val ) {
                        $("input[id$='Ball"+(i+1)+"']", $thisArea).val(val);
                    })
                }
            });
        });
    </script>
</div>
</body>
</html>

Наконец, я поместил сюда скомпилированную версию, чтобы вы могли убедиться, что она работает.

$(document).ready(function () {
	var limit = 3;

	$(".SelectionAreaNumbers").on("click", "div", function (e) {

		e.preventDefault();
		var $this = $(this);
		var $thisArea = $(this).closest(".SelectionAreaNumbers");

		if ($(".selectednumber", $thisArea).length >= limit) {
			if ($this.hasClass("selectednumber")) {
				$this.toggleClass("selectednumber");
			}
		} else {
			$this.toggleClass("selectednumber");
		}

		if ($(".selectednumber", $thisArea).length == limit) {

			var texts = $(".selectednumber", $thisArea).map(function () {
				return $(this).text();
			}).get();

			$.each(texts, function (i, val) {
				$("input[id$='Ball" + (i + 1) + "']", $thisArea).val(val);
			})
		}
	});
});
.NumberSelecton {
	background: #fff;
	position: relative;
	top: 39%;
	left: 20%;
	width: 292px;
}

.NumberTicketsContainer {
	position: absolute;
	top: 38%;
	left: 2%;
	width: 49%;
}

.NumberTicketsContainer P {
	margin: 0;
	text-align: center;
	font-size: large;
	letter-spacing: -1px;
}

.NumberTicketsContainer strong {
	font-weight: normal;
}

.NumberSelectonContainer {
	position: relative;
	width: 100%;
}

.NumberSelectonContainer .TextArea {
	position: absolute;
	top: 10px;
	left: 0px;
	width: 100px;
}

.NumberSelectonContainer .SelectionArea {
	position: relative;
}

.NumberSelectonContainer .SelectionArea .SelectionAreaNumbers {
	text-align: center;
	border: 1px solid #222;
}

.NumberSelectonContainer .SelectionArea .SelectionAreaNumbers .GridNumber {
	display: inline-block;
	text-align: center;
	width: 27px;
	height: 48px;
	line-height: 47px;
	font-weight: 900;
	cursor: pointer;
	border: 1px solid #222;
}

.NumberSelectonContainer .SelectionArea .SelectionAreaNumbers .selectednumber {
	background: #222;
	color: #fff;
}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id = "Background">
<h3>This Script works</h3>
<div id = "NextDrawCountDown"></div>
  <form name = "" id = "" method = "POST" action = "" onSubmit = "return validateFields()">
    <div class = "TicketContainer">
      <div class = "Header">
        <div class = "headerone"></div>
        <div class = "headertwo"></div>
      </div>
      <div class = "NumberTicketsContainer"> </div>
      <div class = "NumberSelecton">
        <div class = "NumberSelectonContainer">
          <div class = "SelectionArea">
            <div class = "SelectionAreaNumbers">
              <div class = "GridNumber" >1</div>
              <div class = "GridNumber" >2</div>
              <div class = "GridNumber" >3</div>
              <div class = "GridNumber" >4</div>
              <div class = "GridNumber" >5</div>
              <div class = "GridNumber" >6</div>
              <div class = "GridNumber" >7</div>
              <div class = "GridNumber" >8</div>
              <div class = "GridNumber" >9</div>
              <div class = "GridNumber" >10</div>
              <div class = "GridNumber" >11</div>
              <div class = "GridNumber" >12</div>
              <div class = "GridNumber" >13</div>
              <div class = "GridNumber" >14</div>
              <div class = "GridNumber" >15</div>
              <div class = "GridNumber" >16</div>
              <div class = "GridNumber" >17</div>
              <div class = "GridNumber" >18</div>
              <div class = "GridNumber" >19</div>
              <div class = "GridNumber" >20</div>
              <div class = "GridNumber" >21</div>
              <div class = "GridNumber" >22</div>
              <div class = "GridNumber" >23</div>
              <div class = "GridNumber" >24</div>
              <div class = "GridNumber" >25</div>
              <div class = "GridNumber" >26</div>
              <div class = "GridNumber" >27</div>
              <div class = "GridNumber" >28</div>
              <div class = "GridNumber" >29</div>
              <div class = "GridNumber" >30</div>
              <div class = "GridNumber" >31</div>
              <div class = "GridNumber" >32</div>
              <div class = "GridNumber" >33</div>
              <div class = "GridNumber" >34</div>
              <div class = "GridNumber" >35</div>
              <div class = "GridNumber" >36</div>
              <div class = "GridNumber" >37</div>
              <div class = "GridNumber" >38</div>
              <div class = "GridNumber" >39</div>
              <div class = "GridNumber" >40</div>
              <input type = "text" name = "LineNumbers[]" id = "Line1Ball1" class = "test" style = "width:50px;" />
              <input type = "text" name = "LineNumbers[]" id = "Line1Ball2" class = "test" style = "width:50px;" />
              <input type = "text" name = "LineNumbers[]" id = "Line1Ball3" class = "test" style = "width:50px;" />
            </div>
            <!-- Endof SelectionAreaNumbers --> 
          </div>
          <!-- Endof SelectionArea --> 

        </div>
        <!-- Endof NumberSelectonContainer --> 
      </div>
      <!-- Endof NumberSelecton-->

      <div class = "WinnerDetailsContainer">
        <div class = "WinnersAdvancePlay">
          <div class = "Footer"> </div>
        </div>
        <!-- Endof WinnersAdvancePlay --> 
      </div>
      <!-- Endof WinnerDetailsContainer --> 
    </div>
    <!-- Endof Class TicketContainer -->
    <div class = "TicketContainer">
      <div class = "Header">
        <div class = "headerone"></div>
        <div class = "headertwo"></div>
      </div>
      <div class = "NumberTicketsContainer"> </div>
      <div class = "NumberSelecton">
        <div class = "NumberSelectonContainer">
          <div class = "SelectionArea">
            <div class = "SelectionAreaNumbers">
              <div class = "GridNumber" >1</div>
              <div class = "GridNumber" >2</div>
              <div class = "GridNumber" >3</div>
              <div class = "GridNumber" >4</div>
              <div class = "GridNumber" >5</div>
              <div class = "GridNumber" >6</div>
              <div class = "GridNumber" >7</div>
              <div class = "GridNumber" >8</div>
              <div class = "GridNumber" >9</div>
              <div class = "GridNumber" >10</div>
              <div class = "GridNumber" >11</div>
              <div class = "GridNumber" >12</div>
              <div class = "GridNumber" >13</div>
              <div class = "GridNumber" >14</div>
              <div class = "GridNumber" >15</div>
              <div class = "GridNumber" >16</div>
              <div class = "GridNumber" >17</div>
              <div class = "GridNumber" >18</div>
              <div class = "GridNumber" >19</div>
              <div class = "GridNumber" >20</div>
              <div class = "GridNumber" >21</div>
              <div class = "GridNumber" >22</div>
              <div class = "GridNumber" >23</div>
              <div class = "GridNumber" >24</div>
              <div class = "GridNumber" >25</div>
              <div class = "GridNumber" >26</div>
              <div class = "GridNumber" >27</div>
              <div class = "GridNumber" >28</div>
              <div class = "GridNumber" >29</div>
              <div class = "GridNumber" >30</div>
              <div class = "GridNumber" >31</div>
              <div class = "GridNumber" >32</div>
              <div class = "GridNumber" >33</div>
              <div class = "GridNumber" >34</div>
              <div class = "GridNumber" >35</div>
              <div class = "GridNumber" >36</div>
              <div class = "GridNumber" >37</div>
              <div class = "GridNumber" >38</div>
              <div class = "GridNumber" >39</div>
              <div class = "GridNumber" >40</div>
              <input type = "text" name = "LineNumbers[]" id = "Line2Ball1" class = "test" style = "width:50px;" />
              <input type = "text" name = "LineNumbers[]" id = "Line2Ball2" class = "test" style = "width:50px;" />
              <input type = "text" name = "LineNumbers[]" id = "Line2Ball3" class = "test" style = "width:50px;" />
            </div>
            <!-- Endof SelectionAreaNumbers --> 
          </div>
          <!-- Endof SelectionArea --> 

        </div>
        <!-- Endof NumberSelectonContainer --> 
      </div>
      <!-- Endof NumberSelecton-->

      <div class = "WinnerDetailsContainer">
        <div class = "WinnersAdvancePlay">
          <div class = "Footer"> </div>
        </div>
        <!-- Endof WinnersAdvancePlay --> 
      </div>
      <!-- Endof WinnerDetailsContainer --> 
    </div>
    <!-- Endof Class TicketContainer -->
    <div class = "TicketContainer">
      <div class = "Header">
        <div class = "headerone"></div>
        <div class = "headertwo"></div>
      </div>
      <div class = "NumberTicketsContainer"> </div>
      <div class = "NumberSelecton">
        <div class = "NumberSelectonContainer">
          <div class = "SelectionArea">
            <div class = "SelectionAreaNumbers">
              <div class = "GridNumber" >1</div>
              <div class = "GridNumber" >2</div>
              <div class = "GridNumber" >3</div>
              <div class = "GridNumber" >4</div>
              <div class = "GridNumber" >5</div>
              <div class = "GridNumber" >6</div>
              <div class = "GridNumber" >7</div>
              <div class = "GridNumber" >8</div>
              <div class = "GridNumber" >9</div>
              <div class = "GridNumber" >10</div>
              <div class = "GridNumber" >11</div>
              <div class = "GridNumber" >12</div>
              <div class = "GridNumber" >13</div>
              <div class = "GridNumber" >14</div>
              <div class = "GridNumber" >15</div>
              <div class = "GridNumber" >16</div>
              <div class = "GridNumber" >17</div>
              <div class = "GridNumber" >18</div>
              <div class = "GridNumber" >19</div>
              <div class = "GridNumber" >20</div>
              <div class = "GridNumber" >21</div>
              <div class = "GridNumber" >22</div>
              <div class = "GridNumber" >23</div>
              <div class = "GridNumber" >24</div>
              <div class = "GridNumber" >25</div>
              <div class = "GridNumber" >26</div>
              <div class = "GridNumber" >27</div>
              <div class = "GridNumber" >28</div>
              <div class = "GridNumber" >29</div>
              <div class = "GridNumber" >30</div>
              <div class = "GridNumber" >31</div>
              <div class = "GridNumber" >32</div>
              <div class = "GridNumber" >33</div>
              <div class = "GridNumber" >34</div>
              <div class = "GridNumber" >35</div>
              <div class = "GridNumber" >36</div>
              <div class = "GridNumber" >37</div>
              <div class = "GridNumber" >38</div>
              <div class = "GridNumber" >39</div>
              <div class = "GridNumber" >40</div>
              <input type = "text" name = "LineNumbers[]" id = "Line3Ball1" class = "test" style = "width:50px;" />
              <input type = "text" name = "LineNumbers[]" id = "Line3Ball2" class = "test" style = "width:50px;" />
              <input type = "text" name = "LineNumbers[]" id = "Line3Ball3" class = "test" style = "width:50px;" />
            </div>
            <!-- Endof SelectionAreaNumbers --> 
          </div>
          <!-- Endof SelectionArea --> 

        </div>
        <!-- Endof NumberSelectonContainer --> 
      </div>
      <!-- Endof NumberSelecton-->

      <div class = "WinnerDetailsContainer">
        <div class = "WinnersAdvancePlay">
          <div class = "Footer"> </div>
        </div>
        <!-- Endof WinnersAdvancePlay --> 
      </div>
      <!-- Endof WinnerDetailsContainer --> 
    </div>
    <!-- Endof Class TicketContainer -->
    <div id = "SubmitTickets">
      <p class = "right">
        <input type = "submit" name = "SubmitTicketButton" id = "SubmitTicketButton" class = "SubmitTicketButton" value = "Button" />
      </p>
    </div>
    <!-- Endof SubmitTickets -->
  </form>
</div>

Возможно, это не окончательное решение для вас, но я думаю, что это хорошая отправная точка для завершения вашей работы. Этим я просто хотел показать вам, что, удалив все повторы, ваш код работает.

Ваш ответ заставил меня понять, что не так с кодом. Это с помощью определений Stack Overflow привело меня к ответу, и я принял его. Спасибо за ваши усилия, ReSedano, и всем остальным тоже. (Если вам интересно, $ this.toggleClass ("selectednumber"); должен стоять первым в функции, в противном случае он считает 2 выбранных числа, когда на самом деле было выбрано 3. Глупая оплошность с моей стороны. Повторение также помогает препятствовать истинная ошибка)

James 10.12.2018 12:29

Другие вопросы по теме