Bump! Still no solution to this problem, anyone? Pretty, please!
/Göran
Göran Törnquist wrote:
Thanks Richard. I obviously made some errors in the process of
breaking out the offending piece of code.
However, the error remains for me. I'm using Firefox 3 on Mac OS X 10.4.
I put up a sample page here: http://www.cortland.se/callback-frenzy/
/Göran
Richard D. Worth wrote:
It worked fine for me in Firefox. In order to make it work in IE
self = this;
should be
var self = this;
Module = function() {
should be
var Module = function() {
$dialog = $("#my_dialog");
should be
var $dialog = $("#my_dialog");
- Richard
On Tue, Dec 9, 2008 at 12:37 AM, Göran Törnquist <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Hi, I'm in over my head with this one, and I can't seem to find
the solution to make it work. I've taken some time to break out
the code for the problem, and below is the code that manifests my
dilemma.
This code presents a simple table with rows that are tagged with
row id's. When the user clicks on a link inside a row I present a
confirmation dialog and then if the user clicks "Yes", then I'll
execute the provided callback.
What is going wrong is that the last alert (from the callback)
only works correctly once - namely the first time. Whatever value
the alert presents the first time, is also what will be presented
the following times until reload of script.
I would be most grateful for some help.
/Göran
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<meta http-equiv="content-type" content="text/html; />
<link rel="Stylesheet" href="jquery/themes/default/ui.all.css"
type="text/css" media="all" hreflang="css/all" charset="utf-8" />
<script src="jquery/jquery-1.2.6.js" language="Javascript"
charset="utf-8"></script>
<script src="jquery/ui/jquery.ui.all.js" language="Javascript"
charset="utf-8"></script>
</head>
<body>
<table class="sometable">
<tr id="rec_1"><td><a href="#">First record</a></td></tr>
<tr id="rec_2"><td><a href="#">Second record</a></td></tr>
<tr id="rec_3"><td><a href="#">Third record</a></td></tr>
<tr id="rec_4"><td><a href="#">Fourth record</a></td></tr>
<tr id="rec_5"><td><a href="#">Fifth record</a></td></tr>
<tr id="rec_6"><td><a href="#">Sixth record</a></td></tr>
<tr id="rec_7"><td><a href="#">Seventh record</a></td></tr>
</table>
<script type="text/javascript">
Module = function() {
self = this;
return {
//Present a dialog with "Yes" and "No" buttons. Execute
provided callback for respective button.
confirm: function(msg, yesCB, noCB, options) {
$dialog = $("#my_dialog");
if($dialog.length == 0) {
$("body").append('<div
id="my_dialog"><p></p></div>');
$dialog = $("#my_dialog");
}
var buttons = {};
buttons["Yes"] = function(){
$dialog.dialog("close");
if($.isFunction(yesCB))
yesCB();
};
buttons["No"] = function(){
$dialog.dialog("close");
if($.isFunction(noCB))
noCB();
};
var myOptions = {
buttons: buttons,
modal: true,
overlay: {
opacity: 0.7,
"background-color": "#000"
}
};
$.extend(myOptions, options);
$dialog.find("p").html(msg);
$dialog.dialog(myOptions).dialog("open");
}
}
}();
$(function() {
$(".sometable a").click(function() {
var $parentTR = $(this).parents('tr').eq(0);
//select the first occurrence of a <tr> that is a parent
of this
var id =
$parentTR.attr('id').replace(/rec_(.*)/i,"$1"); //grab the
integer part of the id
alert("Click: " + $parentTR.attr("id"));
Module.confirm(id, //call the piggybacked script
function() {
alert("You said yes to record " + id);
// <===== HERE is the problem
}
); })
});
</script>
</body>
</html>
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
--
This message has been scanned for viruses and
dangerous content by *MailScanner* <http://www.mailscanner.info/>,
and is
believed to be clean.
--
This message has been scanned for viruses and
dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
believed to be clean.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.