Option – dva html tagy za sebou

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Landsman
Člen | 152
+
0
-

Ahoj,

poradil by mi někdo jak vložit do optionu HTML v této struktuře?

<strong>Mesto</strong>,<span>ulice</span>

Vím, že musím přes:

Html::el('option')->setHtml();

ale nevím, jak dát za sebe takto dva tagy.

CZechBoY
Člen | 3608
+
0
-

Co třeba takhle nějak?

$container = Html::el('');
$strong = Html::el('strong', 'Mesto');
$span = Html::el('span', 'ulice');

$container->add($strong);
$container->add(',');
$container->add($span);

Editoval CZechBoY (29. 7. 2016 15:34)

Landsman
Člen | 152
+
0
-

@CZechBoY Díky, funguje.

Nakonec jsem to stejně musel vyřešit v javascriptu, protože mi to pravděpodobně sám browser escapoval.

Takže select2 zápis, když by se to někomu hodilo:

$(".selectOffice").select2({
    dropdownCssClass: "select_office",
    placeholder: "vyberte pobocku",
    templateResult: cityOption,
    templateSelection: cityOption
});

function cityOption(opt)
{
    if (!opt.id) {
        return opt.text;
    }
    var d = $(opt.element).text().split(',');
    return $('<strong>' + d[0] + '</strong>, <span>' + d[1] + '</span>');
}

Editoval Landsman (29. 7. 2016 16:08)