【发布时间】:2017-12-23 02:44:20
【问题描述】:
我正在开发危险游戏,根据单击的按钮将问题传递到引导模式。该按钮有一个属性 data-num,(问题数组中的索引),用于更改模式中的标题。它还将这个索引作为属性 data-num 传递给显示答案按钮,单击该按钮时,会将模式标题更改为答案。
这适用于第一个问题,但是当我单击第二个问题时,会加载正确的问题,但是当我单击 getanswer 按钮时会加载第一个问题的答案,即使正确的索引显示在下方的检查元素中按钮数据编号。 我究竟做错了什么?
var questions = [{
prompt: "What generic data type should we use when we want to use varying data types for a variable?",
correctAnswer: "Object",
},
{
prompt: "Rewrite the following Javascript statment in C#: var flag = true ",
correctAnswer: "bool flag = true"
},
{
prompt: "double num1 = 9.34534910;\n int num2= (int)num1;\nSystem.Console.WriteLine(num2);",
correctAnswer: "9"
}
];
function showQuestion(event, $modal) {
var button = $(event.relatedTarget);
var num = parseInt(button.data('num'));
var question = questions[num];
$modal.find('.modal-title').text(question.prompt);
$modal.find('.modal-body button').attr('data-num', num)
}
$("#myModal").on('show.bs.modal', function(event) {
showQuestion(event, $(this));
}
);
$("#myModal").on('hidden.bs.modal', function() {
$('#myModal').removeData('bs.modal');
}
);
$("#getanswer").click(function() {
var num = ($(this).data('num'));
console.log(num)
}
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bs-example">
<!-- Modal HTML -->
<div id="myModal" class="modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<p class="modal-title" data-answer="">Modal Window</p>
<button id="getanswer" type="button" data-num="" class="btn btn-primary clickable">Reveal answer</button>
</div>
</div>
</div>
</div>
<div class="question">
<button type="button" class="btn btn-info gridbtn ten" data-toggle="modal" data-target="#myModal" data-num="0">$10</button>
</div>
<div class="question">
<button type="button" class="btn btn-info gridbtn fifty" data-toggle="modal" data-target="#myModal" data-num="1">$50</button>
</div>
</div>
【问题讨论】:
-
启动模式的 HTML 在哪里?
-
HTML 底部的两个按钮,在“问题”div 中。然后模态框内的#getanswer 按钮检索答案。
标签: javascript jquery twitter-bootstrap twitter-bootstrap-3 bootstrap-modal