Hi Mike,

Yes its working now. Now that i understand that part and looked at the
api again i saw:

Get or set the buttons option, after init.

Glad I get that fixed. Thanks for your help!
I think if i play more with jquery things get easier for me to understand.


Carlo

On Fri, Jul 24, 2009 at 2:53 PM, Mean Mike<mcgra...@gmail.com> wrote:
>
> ok sorry for the delay, been kind of busy. Your problem is this ...
>
> the var somevar is defined in the click function and your are trying
> to use it in the constructor for the dialog therefore it is out of
> scope and not defined. This wouldn't work even if you made the var
> global because you must write the constructor before the click event
> occurs.  So what you must do is define the buttons on click.  like
> this
>
> [code]
> $(document).ready(function(){
> //construct dialog
>        $("#dialog").dialog({
>                autoOpen:false,
>                modal:true,
>                overlay: {backgroundColor: "#000",opacity: 0.5},
>                resizable:false
>        });
> //create click event function
>        $(".button").click(function(){
>                // on click do the following
>                //change the title of the dialog
>                $("#ui-dialog-title-dialog").text("Attention");
>                // put a message in the dialog
>                var message = "You are about to do something: ";
>                $(".ui-dialog-content").text(message + $(this).attr("id"));
>
>                //set the dialog buttons
>                $("#dialog").dialog('option', 'buttons', {
>                        "Delete": function() {window.location = "/home/"+ 
> $(this).attr
> ("id") ;},
>                        "Cancel": function() {$(this).dialog("close");}
>                });
>
>                $("#dialog").dialog("open");
>        });
>
> });
> [/code]
>
>
> Make sense ?
>
> Mike
> On Jul 22, 9:29 am, Carlo Landmeter <clandme...@gmail.com> wrote:
>> Sorry i forgot to add it.
>>
>> <img style="cursor:pointer" class="button" id="REF09624002"
>> src="images/delete.png" />
>>
>> The button is placed before the dialog div.
>>
>> Carlo
>>
>> On Tue, Jul 21, 2009 at 2:43 PM, Mean Mike<mcgra...@gmail.com> wrote:
>>
>> > Carlo buddy where is the button with the id that your looking for ?
>>
>> > On Jul 21, 5:06 am, Carlo Landmeter <clandme...@gmail.com> wrote:
>> >> I'm not able to send the whole html but i can show you the jquery stuff:
>> >> I am using this in a drupal CMS with jQuery 1.2.6 and jQuery UI 1.6.
>>
>> >> Drupal includes the following css/js
>>
>> >> <style type="text/css" media="all">@import
>> >> "/sites/default/modules/jquery_ui/jquery.ui/themes/default/ui.all.css";</style>
>> >> <script type="text/javascript" src="/misc/jquery.js"></script>
>> >> <script type="text/javascript"
>> >> src="/sites/default/modules/jquery_ui/jquery.ui/ui/minified/ui.core.min.js"></script>
>> >> <script type="text/javascript"
>> >> src="/sites/default/modules/jquery_ui/jquery.ui/ui/minified/ui.dialog.min.js"></script>
>> >> <script type="text/javascript"
>> >> src="/sites/default/modules/jquery_ui/jquery.ui/ui/minified/ui.draggable.min.js"></script>
>> >> <script type="text/javascript">
>> >>     $(document).ready(function(){
>> >>            $("#dialog").dialog({
>> >>                    autoOpen:false,
>> >>                    modal:true,
>> >>                    overlay: {backgroundColor: "#000",opacity: 0.5},
>> >>                    resizable:false,
>> >>                    buttons:{
>> >>                      "Delete": function() {window.location = "/home/"
>> >> + somevar ;},
>> >>                      "Cancel": function() {$(this).dialog("close");}
>> >>                    }
>> >>            });
>> >>            $(".button").click(function(){
>> >>                    $("#ui-dialog-title-dialog").text("Attention");
>> >>                    var message = "You are about to do something: ";
>> >>                    $(".ui-dialog-content").text(message + 
>> >> $(this).attr("id"));
>> >>                    var somevar = $(this).attr("id");
>> >>                    $("#dialog").dialog("open");
>> >>            });
>> >>     });
>> >>   </script>
>>
>> >> Then somewhere at the end of the page I have:
>>
>> >> <div id="dialog"></div>
>>
>> >> Hope this helps.
>>
>> >> Carlo
>>
>> >> On Mon, Jul 20, 2009 at 9:11 PM, Mean Mike<mcgra...@gmail.com> wrote:
>>
>> >> > can I see the html that goes with this code ?
>>
>> >> > On Jul 18, 4:48 am, Carlo Landmeter <clandme...@gmail.com> wrote:
>> >> >> Thanks for tip for my vars. I have tried the code you provided but
>> >> >> this does not work. When i click my delete button it will complain
>> >> >> that "somevar" is not set. So i guess it means the dialog function is
>> >> >> run before the somevar variable is set. Anyway arround this?
>>
>> >> >> carlo
>>
>> >> >> On Fri, Jul 17, 2009 at 5:37 PM, Mean Mike<mcgra...@gmail.com> wrote:
>>
>> >> >> > Carlo,
>>
>> >> >> > jQuery /javascript is procedural  so you just need to move things
>> >> >> > around
>>
>> >> >> > like this
>> >> >> > [code]
>> >> >> > $(document).ready(function(){
>> >> >> >        $("#dialog").dialog({
>> >> >> >                autoOpen:false,
>> >> >> >                modal:true,
>> >> >> >                overlay: {backgroundColor: "#000",opacity: 0.5},
>> >> >> >                resizable:false,
>> >> >> >                buttons:{
>> >> >> >                  "Delete": function() {window.location = "/home/" + 
>> >> >> > $somevar ;},
>> >> >> >                  "Cancel": function() {$(this).dialog("close");}
>> >> >> >                }
>> >> >> >        });
>> >> >> >        $(".button").click(function(){
>> >> >> >                $("#ui-dialog-title-dialog").text("Attention");
>> >> >> >                var message = "You are about to do something: ";
>> >> >> >                $(".ui-dialog-content").text($message + 
>> >> >> > $(this).attr("id"));
>> >> >> >                var somevar = $(this).attr("id");
>> >> >> >                $("#dialog").dialog("open");
>> >> >> >        });
>> >> >> > });
>> >> >> > [/code]
>>
>> >> >> > I also noticed that your mixing php variables with javascript
>> >> >> > variables i.e. javascript variables do not use "$" I'm not sure if
>> >> >> > this causes any problems but I removed them
>>
>> >> >> > Mike
>>
>> >> >> > On Jul 17, 9:54 am, Carlo Landmeter <clandme...@gmail.com> wrote:
>> >> >> >> I will try that ones I have tackled the following issue.
>>
>> >> >> >> I keep having issues with dialog because the dialog is created 
>> >> >> >> before
>> >> >> >> i use the .click function. Because of this i cannot change some
>> >> >> >> options of the dialog. For instance:
>>
>> >> >> >> If i click the button i am able to retrieve the id of this button 
>> >> >> >> and
>> >> >> >> use it. problem is that my dialog function has to be loaded before i
>> >> >> >> use the dialog(open) function. How am i able to insert the ID in the
>> >> >> >> $somevar variable in my below example?
>> >> >> >> The only way I can think of getting this done is putting the dialog
>> >> >> >> function inside the .click function but for this we already have a
>> >> >> >> dedicated function dialog(open). Any idea how to solve this?
>>
>> >> >> >> $(document).ready(function(){
>> >> >> >>     $("#dialog").dialog({
>> >> >> >>       autoOpen:false,
>> >> >> >>       modal:true,
>> >> >> >>       overlay: {backgroundColor: "#000",opacity: 0.5},
>> >> >> >>       resizable:false,
>> >> >> >>       buttons:{
>> >> >> >>         "Delete": function() {window.location = "/home/" + $somevar 
>> >> >> >> ;},
>> >> >> >>         "Cancel": function() {$(this).dialog("close");}
>> >> >> >>       }
>> >> >> >>     });
>> >> >> >>     $(".button").click(function(){
>> >> >> >>       $("#dialog").dialog("open");
>> >> >> >>       $("#ui-dialog-title-dialog").text("Attention");
>> >> >> >>       var $message = "You are about to do something: ";
>> >> >> >>       $(".ui-dialog-content").text($message + $(this).attr("id"));
>> >> >> >>       var $somevar = $(this).attr("id");
>> >> >> >>     });
>>
>> >> >> >> });
>> >> >> >> On Fri, Jul 17, 2009 at 1:14 AM, Charlie<charlie...@gmail.com> 
>> >> >> >> wrote:
>> >> >> >> > sure, just add
>>
>> >> >> >> > $("#dialog").load("url") to click function you have
>>
>> >> >> >> > Carlo Landmeter wrote:
>>
>> >> >> >> > Thanks for your replies.
>>
>> >> >> >> > If I look at your first option I wouldn't know how i could know 
>> >> >> >> > the
>> >> >> >> > correct ID before i click the button but i have to initiate the 
>> >> >> >> > dialog
>> >> >> >> > open after the normal dialog function. You second option seems the
>> >> >> >> > best way for me, after the dialog is created i can modify its 
>> >> >> >> > content
>> >> >> >> > with your suggested code. Now I still want to find if i can also 
>> >> >> >> > load
>> >> >> >> > a page with ajax (load) instead of a local div.
>>
>> >> >> >> > Thx again,
>>
>> >> >> >> > Carlo
>>
>> >> >> >> > code:
>>
>> >> >> >> > $(document).ready(function(){
>> >> >> >> >     $("#dialog").dialog({
>> >> >> >> >       autoOpen:false,
>> >> >> >> >       modal:true,
>> >> >> >> >       overlay: {backgroundColor: "#000",opacity: 0.5},
>> >> >> >> >       resizable:false,
>> >> >> >> >       buttons:{
>> >> >> >> >         "Delete": function() {},
>> >> >> >> >         "Cancel": function() {$(this).dialog("close");}
>> >> >> >> >       }
>> >> >> >> >     });
>> >> >> >> >     $(".button").click(function(event){
>> >> >> >> >       $("#dialog").dialog("open");
>> >> >> >> >       $("#ui-dialog-title-dialog").text($(this).attr("id"));
>> >> >> >> >     });
>> >> >> >> > });';
>>
>> >> >> >> > <div id="dialog">this is a test</div>
>>
>> >> >> >> > On Thu, Jul 16, 2009 at 3:55 PM, Charlie<charlie...@gmail.com> 
>> >> >> >> > wrote:
>>
>> >> >> >> > dialog has a setter option for title, it isn't really a title 
>> >> >> >> > attiribute.
>> >> >> >> > The dialog "title is actually a span with class 
>> >> >> >> > ui-dialog-title-dialog
>> >> >> >> >http://jqueryui.com/demos/dialog/#option-title
>>
>> >> >> >> > $('.selector').dialog('option', 'title', 'Dialog Title');
>>
>> >> >> >> > either pass the id into the option or you can use
>>
>> >> >> >> > $(".button").click(function(event){
>>
>> >> >> >> >         $('#dialog').dialog('open');
>> >> >> >> >          $('. ui-dialog-title-dialog ').text($(this).attr("id"));
>> >> >> >> >     });
>>
>> >> >> >> > constructor must be separate as Mike pointed out
>>
>> >> >> >> > Mean Mike wrote:
>>
>> >> >> >> > Yes that is correct you need to separate  the dialog from the open
>>
>> >> >> >> > like this note: I set the autoOpen to false.
>>
>> >> >> >> > [code]
>> >> >> >> > $(document).ready(function(){
>> >> >> >> >    $(".button").click(function(event){
>> >> >> >> >            $("#dialog").attr("title", event.target.id);
>> >> >> >> >            $('#dialog').dialog('open');
>> >> >> >> >    });
>>
>> >> >> >> >    $("#dialog").dialog({
>> >> >> >> >      autoOpen:false,
>> >> >> >> >      modal:true,
>> >> >> >> >      overlay: {backgroundColor: "#000",opacity: 0.5},
>> >> >> >> >      resizable:false,
>> >> >> >> >      buttons:{
>> >> >> >> >        "Delete": function() {},
>> >> >> >> >        "Cancel": function() {$(this).dialog("close");}
>> >> >> >> >      }
>> >> >> >> >    });
>> >> >> >> > });
>> >> >> >> > [/code]
>>
>> >> >> >> > let me know how that works out for you
>> >> >> >> > Mean Mike
>>
>> >> >> >> > On Jul 16, 8:31 am, Carlo Landmeter <clandme...@gmail.com> wrote:
>>
>> >> >> >> > Hi,
>>
>> >> >> >> > I have probably a simple question which i cannot seem to find the
>> >> >> >> > answer to.
>> >> >> >> > I have a series of images which i want to use as buttons to 
>> >> >> >> > trigger a
>> >> >> >> > dialog. Inside this dialog i need the ID of the image button (or 
>> >> >> >> > any
>> >> >> >> > other element). But it seems after I load the dialog i cannot 
>> >> >> >> > alter
>> >> >> >> > the content of it anymore. As an example I have tried to change 
>> >> >> >> > the
>> >> >> >> > title of the #dialog so it will show the updated title when i 
>> >> >> >> > click
>> >> >> >> > the button. The only way i am able to do this is when i put all of
>> >> >> >> > this inside the .click function and start with .attr function 
>> >> >> >> > followed
>>
>> ...
>>
>> read more »

Reply via email to