Как выбрать значение в раскрывающемся меню из текстового Div с помощью jquery Impromptu - PullRequest
0 голосов
/ 08 сентября 2011

Из jquery impromptu demo , для своих целей я добавил выпадающий список во всплывающую форму, но у меня возникла проблема с выяснением того, как заполнить выбранное значение в раскрывающемся спискемодальная форма.

Взгляните на мой пример , в окне результатов обратите внимание, что первое имя в списке - «Мистер Джон Доу», и если вы нажмете на ссылку «Изменить», выувидим, что под выпадающим списком заголовок гласит «миссис».Чего я надеюсь добиться, чтобы в раскрывающемся списке «Заголовок» было указано правильное значение, которое в данном случае должно содержать «Мистер».

Код:

function editUser(id){
    var user = $('#userid'+id)
    var fname = user.find('.fname').text();
    var lname = user.find('.lname').text();
    var title = user.find('.title').val();

    var txt = 'What would you like to change this to?'+
    '<div class="field"><label for="editfname">First Name</label><input type="text" id="editfname" name="editfname" value="'+ fname +'" /></div>'+
    '<div class="field"><label for="editlname">Last Name</label><input type="text" id="editlname" name="editlname" value="'+ lname +'" /></div>'+
    '<div class="field"><label for="edittitle">Title</label><select id="edittitle" name="edittitle" value="'+ title +'" /><option value="mrs" >Mrs</option><option value="mr" >Mr</option><option value="dr" >Dr.</option></select></div>';

...
}

HTMLкод:

<div id="userid1" class="user">
    <span class="controls">
         <a href="javascript:;" title="Edit User" class="edituser" onclick="editUser(1);">Edit</a>
    </span>
    <span class="fname">John</span>
    <span class="lname">Doe</span>
    <span class="title">Mr</span>
</div>

Надеюсь, я хорошо это объяснил и ценю любые указания.спасибо.

1 Ответ

0 голосов
/ 08 сентября 2011

Добавьте загруженный параметр в $ .prompt следующим образом:

loaded: function() { $("#edittitle").val(title); },

Также используйте следующее:

var title = user.find('.title').text();

Вместо того, что у вас есть:

var title = user.find('.title').val();

И, наконец, убедитесь, что вы соответствуете своим именам.Для значений параметров убедитесь, что вы используете то же, что и выделенный текст.Не путайте свои дела!Например, вам нужно следующее:

<option value="Mrs">Mrs</option><option value="Mr">Mr</option><option value="Dr">Dr</option>

Внесите эти изменения, и все должно работать!

...