Выпадающий список Jquery применяет пространство к левому

Хороший день

I have a dynamically populated drop down list with list options . Problem is that when I choose and option from the list, it applies a spacing ( ) to the left of the text as it would appear in the tree stucture

Теперь список разрабатывают в дереве stucture и называют от другого loation на сервере. Я не могу изменить интервал в этом. (так как t формирует эффект древовидной структуры),

Посмотрите на мой код ниже:

HTML


JQuery

               $.ajax({
                    url: "API/DataHandler.ashx?method=getareatree",
                    contentType: "application/json; charset=utf-8",
                    success: function (result) {
                        for (var i in result) {
                            var obj = result[i];

                            $("#AreaTreeSelect").append("");

                        }
                    }
                });

Это - то, как это населяет в браузере:


и т.д...

Как я удаляю пространство, когда выбор отобран показанный в избранной коробке?

0
$ .trim (obj. Имя)... я думаю, что оно решает вашу проблему...
добавлено автор Pandian, источник

2 ответы

Возможно, это могло стоить попробовать:

$('#AreaTreeSelect').change(function(){
    $(this).find('option.trimmed').each(function(){
        var padding = '';
        for(var i=0; i<$(this).data('numSpaces'); i++){
            padding += String.fromCharCode(160);
        }
        $(this).text(padding + $(this).text());
    })
    .removeClass('trimmed');
    var selOpt = $(this).find('option:selected');
    var numSpaces = selOpt.text().replace(/^(\s*).*/, '$1').length;
    selOpt
        .data('numSpaces', numSpaces)
        .text(selOpt.text().replace(/^\s*/g, ''))
        .addClass('trimmed');
});

The idea is that it removes all   from the currently selected option, but remembers how much padding there was and restores the padding when another option is selected.

Obviously, you could store the actual sequence of   instead of the number of them, and get rid of a few lines of code.

See working fiddle here: http://jsfiddle.net/aKGac/1/

Очевидная оборотная сторона с этим решением - то, что в настоящее время отбираемый выбор появится в списке без любого углубления, когда это будет расширено:

No indentation on selected option

1
добавлено
Спасибо fpr ваш ответ. Однако не работает и дает проблемы отладки
добавлено автор DextrousDave, источник
Прохладный, большое спасибо. Каков точно недостаток? Я буду управлять им в Visual Studio, надо надеяться это doesn' t презрение...
добавлено автор DextrousDave, источник
Большое спасибо. Это работает на меня, НО отладчик говорит мне следующее: Необработанное исключение в линии 570, колонка 29 дюймов localhost:49693/Secure/RiskAssessmentItem.aspx? assessmentno =‌ ​ 0 0x800a138f - Ошибка выполнения JavaScript: Неспособный получить собственность ' length' из неопределенной или нулевой ссылки
добавлено автор DextrousDave, источник
Это - ' вар numSpaces' линия...
добавлено автор DextrousDave, источник
человек спасибо. Вы - мой герой в течение дня
добавлено автор DextrousDave, источник
Я все еще полагаю, что код достиг бы того, что вы хотите. Ошибки кажутся трудными преодолеть?
добавлено автор Peter Herdenborg, источник
Я создал скрипку, исправил код и обновил мой ответ. Я должен признать, хотя это, решение не прекрасно, поскольку у него есть один довольно серьезный недостаток, который трудно преодолеть.
добавлено автор Peter Herdenborg, источник
Я имею в виду проблему с в настоящее время отбираемым выбором, не заказываемым в списке. Я добавил снимок экрана в своем ответе.
добавлено автор Peter Herdenborg, источник
Ясно. Да, была ошибка, выбирая выбор без любых ведущих мест. Я также нашел другую проблему, но зафиксировал оба и обновил скрипку и ответ.
добавлено автор Peter Herdenborg, источник

Попробуйте как это, это урезает места...

$("#AreaTreeSelect").append("");
1
добавлено
Спасибо за ваш ответ, но это не работает. Это все еще применяет интервал... Какие-либо другие предложения?
добавлено автор DextrousDave, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском