Невозможно l oop через опции в списке выбора - PullRequest
0 голосов
/ 22 января 2020

У меня есть этот список выбора, как показано ниже: -

enter image description here

<input type="text" value="Departmental Folder Structure Clean up" maxlength="255" id="Title_fa564e0f-0c70-4ab9-b863-0177e6ddd247_$TextField" title="Title Required Field" style="ime-mode : " class="ms-long ms-spellcheck-true" disabled="disabled">
<select id="ProjectDependantProjectsLookup_b60c7117-fab9-43ec-8c10-4e714969dd20_SelectCandidate" multiple="multiple" title="Active Dependant Projects possible values" style="width: 300px; height: 125px; overflow: scroll;">
<option value="68" title=" .......Laptop/PC replacement Project"> ... Laptop/PC replacement Project</option>
<option value="83" title="3.....Deployment ">... Deployment </option>
<option value="108" title=".....sion">...g Session</option></select>

Теперь я хочу удалить опцию, которая имеет название = для поле плитки, поэтому я попробовал это: -

var titlevalue = $('input[id^="Title_"]').val();
var currentprojecttitle = $($("[id^=ProjectDependantProjectsLookup_][id$=_SelectCandidate]")[0]);
for (var i=0; i<currentprojecttitle.length; i++) {
   if (currentprojecttitle.options[i].value == titlevalue)
      currentprojecttitle.remove(i);
}

но я получил эту ошибку: -

ошибка необработанного типа: не может прочитать свойство '0' неопределенного

хотя в моем случае $($("[id^=ProjectDependantProjectsLookup_][id$=_SelectCandidate]")[0]) правильно ссылается на список выбора, потому что когда я запускаю этот $($("[id^=ProjectDependantProjectsLookup_][id$=_SelectCandidate]")[0]).css('width','300px');, он увеличивает ширину.

Ответы [ 2 ]

1 голос
/ 22 января 2020

Я думаю, что проще установить var currentprojecttitle = $("[id^=ProjectDependantProjectsLookup_][id$=_SelectCandidate]")[0];. В вашем коде вы заключаете это в переменную jquery, но затем используете ее как переменную javascript. Вы можете увидеть демо здесь . Я добавил соответствующий класс в параметр Deployment, и он был удален.

0 голосов
/ 22 января 2020

Проблема в том, что вы работаете над элементом jQuery выбора. Вы должны сделать это:

var titlevalue = $('input[id^="Title_"]').val();
var currentprojecttitle = $($("[id^=ProjectDependantProjectsLookup_][id$=_SelectCandidate]")[0]);
for (var i=0; i<currentprojecttitle.length; i++) {
   if (currentprojecttitle[0].options[i].value == titlevalue)//Selecting the first element of the jQuery collection
      currentprojecttitle[0].remove(i);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...