这是点击事件。它有Array Objects,我想将这些对象提供给另一个事件处理程序。这怎么可能?
$("#newQuiz_div #modalbody #next").click(function(){
var qno=$("#question").val();
var groupname=$("#groupname").val();
var duration=$("#duration").val();
var ht='';
qno++;
$("#question").val(qno);
$("#nextQuestion").removeClass("hide");
ht+=$("#nextQuestion ul").html();
ht+=('<li>'+qno+'<i class=icon-edit></i><i class=icon-remove></i></li>');
$("#nextQuestion ul").html(ht);
//$("#text").val(" ");
alert("helooo");
alert(qno);
var questionNo=new Array(10);
var qType=new Array(10);
var text=new Array(10);
var Coption=new Array(10);
var CoptionM=new Array(10);
var qn=0;
var q=0,qt=0;
var cop=0,copm=0;
if($("#qType").val()==2)
{
alert("hiii");
questionNo[qn]=$("#question").val();
qType[qt]=$("#qType").val();
text[q]=$("#text1").val();
CoptionM[copm]=$("#cOptionM").val();
alert("Question type:"+questionNo[qn]);
alert("Question type:"+qType[qt]);
alert("Question :"+text[q]);
alert("Answer :"+CoptionM[copm]);
qn++;
qt++;
q++;
copm++;
$("#text1").val(" ");
}
else
{
alert("nooo");
questionNo[qn]=$("#question").val();
qType[qt]=$("#qType").val();
text[q]=$("#text").val();
Coption[cop]=$("#cOption").val();
alert("Question type:"+questionNo[qn]);
alert("Question type:"+qType[qt]);
alert("Question :"+text[q]);
alert("Answer :"+Coption[cop]);
qn++;
qt++;
q++;
cop++;
$("#text").val(" ");
}
});
我想添加另一个名为$("#btnSave").click(function(){});
此事件如何访问在上面的事件处理程序中创建的Array对象?
答案 0 :(得分:1)
您可以通过在click
callback
函数之外声明这些数组来将数组放在两个作用域中。见小提琴:http://jsfiddle.net/a9cm2/1/
$(function () {
var questionNo=new Array(10);
// bind first callback
$("#clickme").click(function () {
console.log('first callback', questionNo);
questionNo[0] = 'foo';
});
$("#clickme").click(function () {
console.log('second callback', questionNo);
});
});