HTML attribute meerdere malen aanpassen met JS

Status
Niet open voor verdere reacties.

guidogast

Gebruiker
Lid geworden
9 apr 2008
Berichten
52
Hallo,

Ik heb een klein probleempje met het aanpassen van de HTML attributes via javascript.

Met een aantal klasgenoten ben een webapplicatie aan het maken dat veel gebruik maakt van de JQuery-UI, Nu heb ik 1 div aangemaakt in de HTML voor de jQuery DialogBox, die ik dynamisch wil invullen met javascript:
HTML:
<div id="dialog"></div>
<button onClick="deleteSubjectDialog('3', 'Visual Basic')">Delete Subject</button>
<button onClick="deleteUserDialog('109', 'Gekke henkie')">Delete User</button>

Dit is mijn javascript:
[JS]function deleteUserDialog(id, username)
{
document.getElementById('dialog').title = username + ' verwijderen?';
$('#dialog').text('Weet u zeker dat u ' + username + ' wilt verwijderen?');
$('#dialog').dialog({
buttons: {
'Annuleren' : function(){
$(this).dialog("close");
},
'Verwijderen': function(){
$('#page_right_admin').load('users_delete.php?id=' + id);
$(this).dialog("close");
}
},
draggable: false,
resizable: false,
show: 'fade',
hide: 'fade',
closeOnEscape: true,
modal: true
});
}

function deleteSubjectDialog(id, subjectName)
{
document.getElementById('dialog').title = subjectName + ' verwijderen?';
$('#dialog').text('Weet u zeker dat u ' + subjectName + ' wilt verwijderen?');
$('#dialog').dialog({
buttons: {
'Annuleren' : function(){
$(this).dialog("close");
},
'Verwijderen': function(){
$('#page_right_admin').load('subject_delete.php?id=' + id);
$(this).dialog("close");
}
},
draggable: false,
resizable: false,
show: 'fade',
hide: 'fade',
closeOnEscape: true,
modal: true
});
}[/JS]

Als ik 1 functie aanroep, dan doet hij het prima, maar zodra ik de 2e functie wil uitvoeren, veranderd Javascript de Title attribute niet. Dus je ziet nog de title van de 1e functie staan...

Heeft 1 van jullie hier een oplossing voor?

Alvast bedankt!

Guido
 
Laatst bewerkt:
Waarom gebruik je nog d.GeBY als je jQuery gebruikt? Je kan ipv.
[JS] document.getElementById('dialog').title = username + ' verwijderen?';[/JS]
gewoon dit doen:
[JS]$('#dialog').attr('title', username + ' verwijderen?');[/JS]
volgens mij.

Daarnaast, geeft het foutenconsole niets aan? Misschien is het een idee om eerst de .dialog() aan te roepen, en dan pas de titel te veranderen. Of natuurlijk gewoon de titel in de .dialog() mee te geven... volgens mij kon dat ook.
 
Waarom gebruik je nog d.GeBY als je jQuery gebruikt? Je kan ipv.
[JS] document.getElementById('dialog').title = username + ' verwijderen?';[/JS]
gewoon dit doen:
[JS]$('#dialog').attr('title', username + ' verwijderen?');[/JS]
volgens mij.

Daarnaast, geeft het foutenconsole niets aan? Misschien is het een idee om eerst de .dialog() aan te roepen, en dan pas de titel te veranderen. Of natuurlijk gewoon de titel in de .dialog() mee te geven... volgens mij kon dat ook.

Thanks! Ik zal het uitproberen!
 
Ik heb de oplossing van jQuery geprobeerd, ook heb ik de regel op verschillende plekken geplaatst, maar heb nog steeds hetzelfde probleem :S
 
Het is sowieso raar dat het helpt om de title van een element te zetten, want niet elk element heeft die prop. In ieder geval, als je de documentatie er eens bijpakt staat er dit voorbeeld:

Code examples

Initialize a dialog with the title option specified.
[JS]

$( ".selector" ).dialog({ title: 'Dialog Title' });

[/JS]

Dus, zoals ik al eerder voorstelde, zet het gewoon in je .dialog() aanroep.
 
Het is sowieso raar dat het helpt om de title van een element te zetten, want niet elk element heeft die prop. In ieder geval, als je de documentatie er eens bijpakt staat er dit voorbeeld:


[JS]

$( ".selector" ).dialog({ title: 'Dialog Title' });

[/JS]

Dus, zoals ik al eerder voorstelde, zet het gewoon in je .dialog() aanroep.

Deze methode werkt!! Vele malen dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan