/    Sign up×
Community /Pin to ProfileBookmark

Sending a variable back to ajax after on click event

So what im trying to do is have items match up to each other from a sortable jquery ui function my problem is ive gotten so far now im stuck! i dont know how to return the variables for which items are wrong back to my js/jquery/ajax script with out adding another on click event? any help would be greatly appreciated THANK YOU!

PHP:

[CODE] if(isset($_POST[‘matching_idd’])){
$correct = true;
$incorrect_keys = array();
foreach($_POST[‘matching_idd’] as $key => $_id)
{
$answer = db_get_by_sql(“SELECT * FROM trivia_answers WHERE id = $_id”);
$answer = $answer[0];
$answer1 = strtolower($_POST[‘matching_answer’][$key]);
$answer2 = strtolower($answer[‘matching_answer’]);
if ($answer1 != $answer2)
{

$correct = false;
$incorrect_keys[] = $key;
}
}
if(!$correct)
{
foreach($incorrect_keys as $key)
{
$out .='<input type=”hidden” class=”inccorect_key” value=”‘ .$key. ‘” />’;
}
}
return $out;
exit;
}[/CODE]

AJAX/JS/JQUERY:

[CODE] function CallQuestionPhp()
{
$(‘#fill_in_button_2’).live(‘click’,function() {

var queryThis = ”;
var inc = 0;
$(‘.matching_idd’).each(function()
{
queryThis +=’&matching_idd[‘+inc+’]=’ +$(this).val();
inc++;

});
inc = 0;
$(‘.trivia_matching_sort’).each(function()
{
queryThis +=’&matching_answer[‘+inc+’]=’ +$(this).text();
inc++;

});
$.post(rootDir + “_mods/ajax/trivia/” + triviaID, queryThis, function(result){
$(“#trivia_question_box”).html(result);
});
});

$.post(rootDir + “_mods/ajax/trivia/” + triviaID, {category: QuestionCategory, difficulty: postDifficulty}, function(result){
if(result.indexOf(‘~~ERROR~~’) > -1){
createMessageBox(result.replace(/~~ERROR~~/gi, ”))

}
else{

$(“#trivia_question_box”).html(result);
$(‘#trivia_matching_right’).sortable();
$(‘#trivia_matching_right’).disableSelection();
}
});
}[/CODE]

to post a comment
JavaScript

2 Comments(s)

Copy linkTweet thisAlerts:
@garethsmallauthorApr 20.2012 — here the HTML/PHP that matters:
[CODE] $answers = db_get_by_sql("SELECT * FROM trivia_answers WHERE FIND_IN_SET(id, '" .$getquestion['trivia_answers']. "') > 0 ORDER BY RAND()");
foreach($answers as $key1 => $getanswer)
{
$colorblock = $colorblock + 1;
if ($colorblock == 1 || $colorblock == 3 || $colorblock == 5)
{
$out .='<div id="trivia_matching_state" style="background:#DEB560;opacity:0.8;filter:alpha(opacity=80);">';
}else{
$out .='<div id="trivia_matching_state">';
}
$out .='<div id="no_worries" style="margin-left:112px;">' .$getanswer['answer']. '</div>';
$out .='<input type="hidden" class="matching_idd" value="' .$getanswer['id']. '"/>';
$out .='</div>';

}
$out .='</div>';
$out .='<div id="trivia_matching_right">';
$answers2 = db_get_by_sql("SELECT * FROM trivia_answers WHERE FIND_IN_SET(id, '" .$getquestion['trivia_answers']. "') > 0 ORDER BY RAND()");
foreach($answers2 as $key2 => $getanswer2)
{
$out .='<div class="trivia_matching_sort">';
$out .='' .$getanswer2['matching_answer']. '';
$out .='';
$out .='</div>';
}
$out .='<div id="fill_in_button_2"></div></div>';

$out .='<div id="continue_button"></div>
<div id="answer_correct_incorrect"></div>';
$out .='</div>';
}
[/CODE]
Copy linkTweet thisAlerts:
@garethsmallauthorApr 20.2012 — nvm i found that my .html was replacing my earlier script i changed that to .append and wrote a whole nother script thank you!
×

Success!

Help @garethsmall spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.25,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...