Javascript Добавить и добавить выбранное

0

Я пытаюсь добавить выбранное значение параметра, которое визуализируется уже внутри объекта, но ниже не добавляется выбранное значение параметра, даже если они равны. Игнорируя добавление выбрано, это потому, что после этого с добавлением?

eventClick: function(calEvent, jsEvent, view) {
    var startFormat = $.fullCalendar.formatDate(calEvent.start, "dd / MM / yyyy");
    var form = $("<form id='changeName'>" +
        "<h3 class='eventHeader'>Edit Event: " +startFormat+ " </h3>" +
        "</div></form>");

    form.append("<div class='controls'>" +
        "<label class='control-label' for='title'>Language: </label>" +
        "<select class='span3' id='lang' name='lang'>" +
        <?php foreach($languages as $language): ?>
        "<option value='<?=$language->id;?>'><?=$language->title;?></option>" +
        <?php endforeach; ?>
        "</select>" +
        "</div>");

    $("#lang option").each(function(){
        if ($(this).val() == calEvent.lang)
            $(this).attr("selected","selected");
    });
}
  • 3
    И твой вопрос?
  • 0
    Извините, я не нажал кнопку ввода, не понял, что опубликовал, пока не увидел ваш комментарий
Показать ещё 1 комментарий
Теги:
select

2 ответа

0

это просто пример:

<?php
$array = array('lang1' => 'option1', 'lang2' => 'option2');
?>
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="jquery.js" type="text/javascript"></script>
    </head>
    <body>
        <select id="a_select"></select>
        <script>
            $(function() {

                var select_keys = [<?php foreach ($array as $key => $value) {echo "'$key', ";} ?>];
                var select_values = [<?php foreach ($array as $value) {echo "'$value', ";} ?>];

                $(select_values).each(function(i, item) {
                    var option = $('<option>'+ item +'</option>');
                    option.attr('value', select_keys[i]);
                    $('#a_select').append(option);
                });
            });
        </script>
    </body>
</html>

update: добавлены значения ключей.

вы можете загрузить эти значения из другого сценария с помощью ajax, что будет проще и чище.

0

вместо этого:

$(this).attr("selected","selected");

попробуйте использовать .prop():

$(this).prop("selected", true);

Обновления:

вы можете использовать .done() и вместо этого использовать событие change:

form.append("<div class='controls'>" +
    "<label class='control-label' for='title'>Language: </label>" +
    "<select class='span3' id='lang' name='lang'>" +
    <?php foreach($languages as $language): ?>
    "<option value='<?=$language->id;?>'><?=$language->title;?></option>" +
    <?php endforeach; ?>
    "</select>" +
    "</div>").done(function(){
          $(document).on('change', "#lang", function(){
               $('option', this).each(function(){
                  if ($(this).val() == calEvent.lang)
                    $(this).prop("selected", true);
               });
          }).change();  //<------fire the change event here when appended in dom
    });
  • 0
    то же самое, ничего не меняется.
  • 0
    @castielMartin смотрите обновления.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню