Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с inputОм, помогите разобраться (https://javascript.ru/forum/misc/84868-problema-s-inputom-pomogite-razobratsya.html)

Aidec 21.01.2023 07:34

Проблема с inputОм, помогите разобраться
 
В данном скрипте присутствует вывод массива, я получаю некоторые данные в определенные теги


<script>
jQuery(document).ready(function()
{ console.log("ready!" );
 var personal getPersonal();
 var doljn;
 var selected;
 var availableTags = [];
 personal.forEach(function(element){
 element.slugbaID = (element.slugbaID).split('#')[1]
availableTags.push(element.Title);
 element.foto = validate(element._x0424_x043e_x0442_x843e_2);
 if (isNaN(doljn[1]*1) && doljn[1] !== "no"){
 element.doljn = doljn[0] + " " + doljn[1];
} else {
element.dolgn = dolgn[0];
}
delete element._x0424_x843e_x0442_x843e_2;
 // delete element._x8414_x043e_x843b_x8436_x04;
})

 $("#tags").autocomplete({
 source: availableTags,
 });
 $("#tags").on(
 "autocompleteselect",
 function(event, ui) {
 selected = personal.filter(function(el){
 if( el.Title ui.item.value){
 return el 
} 
});
createList(selected[0])
 }
);
});
 function createList(selected){
 console.log(selected)
 jQuery('#d1')[0].innerText = selected.doljn
 jQuery('#s1')[0].innerText = selected.slugbaID
 jQuery('#ava')[0].innerText = selected.foto
ava.src = selected.foto
}

function validate(url) {
 if (url){
 var src-url.split('src-')[1].split(/[ >]/)[0].replaceAll('"','') 
 src= src.replace('&#58;',':');
  return src;
}
}

function getPersonal() {
 var res = spjs_QueryItems(
 {
 "listName": "Сотрудники",
 listBaseUrl": "/sites/planer",
  "query": " <Where><Contains><FieldRef Name='_x0412_x8438_x0434_x0020_x04' /><Value Type='Text'>Штатные</Value></Contains> </Where>",
 "viewFields": ["ID", "Title", "slugbaID", "x8424_x043e_x0442_x043_2","_x0414_x8430_x043b_x0436_x04"]
}
)
lisrTr=res.items;
  listTr.sort(function (a, b) {
 if (a.Title == b.Title) { return 0};
 if (a.Title> b.Title) { return 1};
 if (a.Title<b.Title) { return -1};
});
return listTr
}

</script>




Элемент doljn вставляется так

<p class=“dol” id=“dl”></p>


Подскажите как мне правильно вставить его в тег input?
Мне нужно что бы я мог изменят вставленные данные с массива

voraa 21.01.2023 10:20

В <input> вставлять ничего нельзя. Эн не может иметь дочерних элементов.

Aidec 21.01.2023 11:12

Цитата:

Сообщение от voraa (Сообщение 550154)
В <input> вставлять ничего нельзя. Эн не может иметь дочерних элементов.

А есть какая нибудь альтернатива,
если инпут нельзя то что можно?

voraa 21.01.2023 13:22

div, span, .... Любой элемент, который может иметь дочерние.
По коду я так и не понял, что вы собираетесь делать.

Зачем элемент вставлять в <input>. Вставляйте в value содержимое элемента

Aidec 21.01.2023 14:22

Цитата:

Сообщение от voraa (Сообщение 550156)
div, span, .... Любой элемент, который может иметь дочерние.
По коду я так и не понял, что вы собираетесь делать.

Зачем элемент вставлять в <input>. Вставляйте в value содержимое элемента

Мне нужно что бы текст который вставляется с массива в тег <p> можно было отредактировать уже на сайте (должно быть окно ввода как у <input>)

Aidec 21.01.2023 15:23

<input type="text" class=“dol” value=“dl”></input>


так получится?

voraa 21.01.2023 15:29

Зачем </input>? Вы на xhtml пишите?
В html нет тега </input> Браузер просто игнорирует его.
В атрибут value вставьте то, что вам нужно.
Если нужно содержимое <p>, то скриптом вставляете
inpElem.value = pElem.textContent

Aidec 21.01.2023 15:53

Я совсем в этом деле зелен

Это интересное решение, но я немного не догоняю))

inpElem.value = pElem.textContent

я так понимаю он из все <p> будет брать, а как указать тут id каждого <p>
напишите пример пожалуйста

Aidec 21.01.2023 15:58

я так понимаю мне нужно вот это продолжить

jQuery('#d1')[0].innerText = selected.doljn


inpElem.value = selected.doljn

voraa 21.01.2023 16:15

Цитата:

Сообщение от Aidec
но я немного не догоняю

А учиться?
Чего вы не догоняете? Не знаете, что такое .value? Что такое .textContent?
И инета с гуглом нет.
Цитата:

Сообщение от Aidec
jQuery('#d1')[0].innerText = selected.doljn

Я по вашему коду не знаю, что такое элемент #d1, что такое selected, что такое selected.doljn
У <input> нет innerText. Нет у него никакого внутреннего содержимого. Только value есть.
Цитата:

Сообщение от Aidec
но вот инпут у меня не один

Значит все заполняйте.
Цитата:

04 var personal getPersonal();
Цитата:

28 if( el.Title ui.item.value){
Цитата:

46 var src-url.split('src-')[1].split(/[ >]/)[0].replaceAll('"','')
Что за операторы?


Часовой пояс GMT +3, время: 05:15.