У меня проблемы с интеграцией 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 Ничего не меняется, ошибок нет ... никаких различий я не вижу
Ясно, что что-то должно быть другим. «Это не работает» на самом деле не сужает проблему. Похоже, вам нужно отладить код на стороне клиента. Используя инструменты отладки вашего браузера, установите точку останова на отказавшем коде. Что происходит, когда вы просматриваете этот код в отладчике браузера?
«НО это не работает ...» Показать фактические результаты этой команды echo
Спасибо за вашу помощь, я просто не могу вам больше дать, потому что не понимаю, почему это не работает. Прошел час «Это не работает» и ругательства, я почти уверен, что сейчас моя голова похожа на Гомера Симпсона.
Проверьте ID! PHP 1: #Line3Ball2 PHP2: #Line1Ball2
@ReSedano в спешке скопировал и вставил не тот источник, хорошо заметный. Тогда я думал, что это решено. Нет, я дважды проверял, все выглядит одинаково.
@James Я думаю, что первая проблема ваших файлов - это проблема HTML: на вашей странице много тройных идентификаторов. Также ваш <script>: вы утроили все функции. Все это очень запутывает меня ... и компьютер, я думаю. Я советую переделывать страницу, обращая внимание на все эти вещи, избегая всех этих повторений. И если после этой работы ваши функции по-прежнему выдают ошибки, перепишите вопрос еще раз, и мы постараемся вам помочь! Давай, я даю тебе +1, чтобы ободрить тебя! ;-)
@ReSedan Оба сценария вставляются с одним и тем же дублированием идентификаторов, один работает, а другой нет, поэтому я не думаю, что это идентификаторы, вызывающие проблему. Все еще плохая практика, и я принимаю это во внимание, не должно быть слишком сложно преобразовать все в класс. ТАКЖЕ для добавления скрипта, который не работает, требуется 4 щелчка мышки для запуска и вставки чисел в Line2Ball1-3 ... в то время как скрипт, который работает, занимает 3 щелчка и вставляется в Line1Ball1-3. Я думаю, что это ошибка JQuery или есть специальные символы, которых я не вижу, но я пробовал все типы комбинаций. К сожалению, мне нужна динамическая версия.
@James, и твои функции троекратны! Я думаю, что ваш первый статический скрипт работает, потому что у вас есть 3 функции, которые делают то же самое. Но когда вы используете динамический $h, вы переопределяете эти функции с разными значениями и одинаковыми идентификаторами, что еще больше запутывает компьютер. Думаю, в этом проблема. Мой совет - используйте хотя бы одну функцию без повторений: это поможет вам лучше понять, в чем на самом деле проблема.
Я думаю, что на это указывалось выше, но для ясности: фраза «это не работает» не является действенным отчетом о неисправности. Как правило, вопрос, который содержит только описание проблемы, что что-то не работает, следует отложить до тех пор, пока он не будет содержать достаточно понятный отчет. Вы бы отредактировали это сообщение при следующем входе в систему, чтобы кто-нибудь мог узнать больше из улучшенных вопросов и ответов?
@halfer ОК, я редактировал
Возможно, я недостаточно четко сформулировал свой комментарий :-). Да, элемент «не работает» бесполезен и может исчезнуть, но вопрос требует объяснения того, что на самом деле означает «не работает». Что он делает, чего не должен, и что не делает, чего не должен?






Вместо использования '.$jquery.'
вы должны использовать: <?php echo $jquery; ?>
К сожалению, следовало бы сказать, что весь сценарий jQuery находится в <? Php echo '***'. $ Jquery. ' *** '; ?>
Как я сказал в своем комментарии, удалив все повторы, код работает.
Самым большим вмешательством было удаление из вашего цикла функций 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. Глупая оплошность с моей стороны. Повторение также помогает препятствовать истинная ошибка)
Когда вы просматриваете исходный код в своем браузере, что меняется между двумя разными попытками? Есть ли ошибки в консоли отладки вашего браузера? Какой точный клиентский код излучает нерабочая версия?