как да зададете текст на option:selected в jquery

<select id="myselect">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>

<select id="youSelect">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>

Сега при натискане на бутон искам да задам mySelect option:selected стойност в youSelect Така че за това направих това

$('#youSelect option:selected').text($('#myselect option:selected').text())

но не работи. Моля, насочете как да разрешите това.


person Dinshaw Raje    schedule 11.06.2015    source източник
comment
Всички не разбрахте какво искам. Моля, отговорих на въпроса и го редактирах   -  person Dinshaw Raje    schedule 11.06.2015
comment
Коя версия на jQuery използвате? Не разбрах мисълта ти. Означава ли, че трябва да изберете стойността във второто dropdown, което сте избрали в първото dropdown   -  person rrk    schedule 11.06.2015


Отговори (4)


Просто направете:

$('#youSelect').val($('#myselect').val());

Съпоставяте стойностите, а не текста.

Редактиране: Въз основа на редактирания ви въпрос вероятно разглеждате същата ситуация като този въпрос

var _mySelectText = $("#myselect option:selected").text();
$("#youSelect option").filter(function () {
    return this.text === _mySelectText;
}).attr("selected", "selected");
person Sang Suantak    schedule 11.06.2015

$("#youSelect").val("thevalue");

просто се уверете, че стойността в маркерите за опции съвпада със стойността в метода val.

person Rutunj sheladiya    schedule 11.06.2015

  var myValue = $("#myselect option:selected").text();
  var secondoption = $("#youSelect")[0];


  for (var i = 0, sL = secondoption.length; i < sL; i++) {
    if (secondoption.options[i].text == myValue) {
      secondoption.selectedIndex = i;
      break;
    }
  }

http://plnkr.co/edit/GVt8rZswjzZTC13vw98N?p=preview

person n00b    schedule 11.06.2015
comment
Не разбрах какво искам е $('#youSelec option:selected').text($('#myselect option:selected').text()), но не работи - person Dinshaw Raje; 11.06.2015
comment
значи искате да зададете стойността на втората опция въз основа на текста в първата? - person n00b; 11.06.2015
comment
Но текстът от първата опция не съществува като стойност във втората. Дори и да направя плункера, вашият HTML е грешен - person n00b; 11.06.2015
comment
първа опция стойност във втора като ако получа първата опция: избран текст като mrs, така че искам да изберете опция: избраният текст също е mrs Сега разбирате - person Dinshaw Raje; 11.06.2015
comment
Актуализира отговора. Така че искате две опции да имат съответстващ текст, въпреки че имат различни стойности - person n00b; 11.06.2015

Използвай това.

$(selector_to_your_button).on('click',function(){
    $('#youSelect).val($("#myselect").val());
});
person rrk    schedule 11.06.2015
comment
Мисля, че въпросът е доста ясен, стойността на youSelect трябва да залага при натискане на бутон, а не при change от myselect. - person Sang Suantak; 11.06.2015