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<[email protected]> 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<[email protected]> 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 <[email protected]> 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
> by the .dialog function. The problem is when i do this and close the
> dialog i cannot enable the dialog anymore. I guess this is why they
> have the .dialog("open").
> Is there a way i can achieve what I'm trying to do here? Maybe there
> is a better way of doing this?
>
> Tia,
>
> Carlo
>
> code:
>
> $(document).ready(function(){
> $(".button").click(function(event){
> $("#dialog").attr("title", event.target.id);
> $("#dialog").dialog({
> autoOpen:true,
> modal:true,
> overlay: {backgroundColor: "#000",opacity: 0.5},
> resizable:false,
> buttons:{
> "Delete": function() {},
> "Cancel": function() {$(this).dialog("close");}
> }
> });
> });
>
> });
>
> <div id="dialog" title="i did not change">this is a test</div>
>
>
>
>
>
>
>
>