pr0cz pr0cz - 4 months ago 25
jQuery Question

Changing color of jquery dialog

Is it possible to change the color of the header of the jquery dialog box?
I want the "?" and the header of the second dialog box (when you press the "?") to be filled with a red background instead of the standard grey. I tried it with the class ".dialog-title-bar", but it won't work. Can you help me?
Thanks in advance! :)



$( "#dialog_arbeitsauftrag" ).dialog({
autoOpen: false,
width: '400',
height: '200',
dialogClass: 'hilfe_arbeitsauftrag',
buttons: [
{
text: "close",
click: function() {
$( this ).dialog( "close" );
}
},

]
});


$( "#dialog-arbeitsauftrag" ).click(function( event ) {
$( "#dialog_arbeitsauftrag" ).dialog( "open" );
event.preventDefault();
});



$( "#dialog-arbeitsauftrag, #icons li" ).hover(
function() {
$( this ).addClass( "ui-state-hover" );
},
function() {
$( this ).removeClass( "ui-state-hover" );
}
);

$(".hilfe_arbeitsauftrag").children(".ui-dialog-titlebar").append("<span id='iconhelp' class='ui-icon ui-icon-help'></span>");

$("#iconhelp").click(function( event ){
$( "#dialog_arbeitsauftrag_hilfe" ).dialog( "open" );
event.preventDefault();
});

$( "#dialog_arbeitsauftrag_hilfe" ).dialog({
autoOpen: false,
width: '200',
height: '100',
});

#dialog-arbeitsauftrag {
padding: 15.5px 0px 23px; !important
text-decoration: none;
position: relative;

}
#dialog-arbeitsauftrag span.ui-icon {
margin: 0 5px 0 0;
position: absolute;
left: .2em;
top: 25%;
margin-top: -8px;
}


.dialog-title-bar{
background-color: red;


}
#dialog_arbeitsauftrag_hilfe{
padding: 10px 10px 10px 10px; !important
text-decoration: none;
position: relative;

}
#iconhelp_arbeitsauftrag{
cursor: pointer;
float: right;
margin-right:10px;

}
#dialog-arbeitsauftrag span.ui-icon {
margin: 0 5px 0 0;
position: absolute;
left: .2em;
top: 25%;
margin-top: -8px;
}
#icons {
margin: 0;
padding: 0;
}
#icons li {
margin: 2px;
position: relative;
padding: 4px 0;
cursor: pointer;
float: left;
list-style: none;
}
#icons span.ui-icon {
float: left;
margin: 0 4px;
}

<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>

<script src="http://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>

<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" />
<html>
<head>
</head>
<body>




<button id="dialog-arbeitsauftrag" class="ui-state-default ui-corner-all">
Arbeitsauftrag
</button>



<div id="dialog_arbeitsauftrag" title="Arbeitsauftrag">
<p>

Blablabla.

</p>
</div>



<div id="dialog_arbeitsauftrag_hilfe" class="dialog-title-bar" title="Hilfebox">
<font face="arial" size="2">
Some more blablabla.
</font>
</div>

</body>
</html>




Answer

You add 2 special dialogClass, you have already added for the first dialog

$("#dialog_arbeitsauftrag_hilfe").dialog({
  autoOpen: false,
  width: '200',
  height: '100',
  dialogClass: 'arbeitsauftrag_hilfe',
});

then

.hilfe_arbeitsauftrag #iconhelp {
  background-color: red;
}
.arbeitsauftrag_hilfe .ui-dialog-titlebar {
  background-color: red;
  background-image: none;
}

$("#dialog_arbeitsauftrag").dialog({
  autoOpen: false,
  width: '400',
  height: '200',
  dialogClass: 'hilfe_arbeitsauftrag',
  buttons: [{
    text: "close",
    click: function() {
      $(this).dialog("close");
    }
  }, ]
});


$("#dialog-arbeitsauftrag").click(function(event) {
  $("#dialog_arbeitsauftrag").dialog("open");
  event.preventDefault();
});

$("#dialog-arbeitsauftrag, #icons li").hover(
  function() {
    $(this).addClass("ui-state-hover");
  },
  function() {
    $(this).removeClass("ui-state-hover");
  }
);

$(".hilfe_arbeitsauftrag").children(".ui-dialog-titlebar").append("<span id='iconhelp' class='ui-icon ui-icon-help'></span>");

$("#iconhelp").click(function(event) {
  $("#dialog_arbeitsauftrag_hilfe").dialog("open");
  event.preventDefault();
});

$("#dialog_arbeitsauftrag_hilfe").dialog({
  autoOpen: false,
  width: '200',
  height: '100',
  dialogClass: 'arbeitsauftrag_hilfe',
});
#dialog-arbeitsauftrag {
  padding: 15.5px 0px 23px;
  !important text-decoration: none;
  position: relative;
}
#dialog-arbeitsauftrag span.ui-icon {
  margin: 0 5px 0 0;
  position: absolute;
  left: .2em;
  top: 25%;
  margin-top: -8px;
}
.dialog-title-bar {
  background-color: red;
}
#dialog_arbeitsauftrag_hilfe {
  padding: 10px 10px 10px 10px;
  !important text-decoration: none;
  position: relative;
}
#iconhelp_arbeitsauftrag {
  cursor: pointer;
  float: right;
  margin-right: 10px;
}
#dialog-arbeitsauftrag span.ui-icon {
  margin: 0 5px 0 0;
  position: absolute;
  left: .2em;
  top: 25%;
  margin-top: -8px;
}
#icons {
  margin: 0;
  padding: 0;
}
#icons li {
  margin: 2px;
  position: relative;
  padding: 4px 0;
  cursor: pointer;
  float: left;
  list-style: none;
}
#icons span.ui-icon {
  float: left;
  margin: 0 4px;
}
.hilfe_arbeitsauftrag #iconhelp {
  background-color: red;
}
.arbeitsauftrag_hilfe .ui-dialog-titlebar {
  background-color: red;
  background-image: none;
}
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" />

<button id="dialog-arbeitsauftrag" class="ui-state-default ui-corner-all">
  Arbeitsauftrag
</button>
<div id="dialog_arbeitsauftrag" title="Arbeitsauftrag">
  <p>
    Blablabla.
  </p>
</div>

<div id="dialog_arbeitsauftrag_hilfe" class="dialog-title-bar" title="Hilfebox">
  <font face="arial" size="2">Some more blablabla.</font>
</div>