21.11.2016, 13:56
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Помогите создать генератор массива
Доброго времени суток, нужна ваша помощь в создании генератора строк массива.
По сути, нужно из этого:
Код:
|
6:MDX|NSX|A5
7:M3|M6|X5|X6 |
Сделать вот это:
{value:6,list: [{text: 'MDX'},{text: 'NSX'},{text: 'A5'}]},
{value:7,list: [{text: 'M3'},{text: 'M6'},{text: 'X5'},{text: 'X6'}]},
HTML это 2 textarea и кнопка по нажатию которой и происходит "генерация".
<textarea id="before"></textarea>
<textarea id="after"></textarea>
<button>GEN</button>
|
|
21.11.2016, 14:06
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,210
|
|
Сообщение от karakym
|
[{text: 'MDX'},{text: 'NSX'},{text: 'A5'}]
|
Зачем делать массив объектов?
Если все данные свободно разместятся в простом массиве
['MDX', 'NSX', 'A5']
|
|
21.11.2016, 14:16
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,210
|
|
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
textarea {
width: 90%;
height: 200px;
margin-left: auto;
margin-right: auto;
}
</style>
<script type='text/javascript'>
$(function (){
$('button').click(function (){
var val=$('#before').val();
var reg=/(\d+):(.+)/g;
val=val.replace(reg,'{value:$1,list: [$2]}')
val=val.replace(/\n|\|/g,',');
$('#after').val(val)
});
});
</script>
</head>
<body>
<div>
<textarea id="before">6:MDX|NSX|A5
7:M3|M6|X5|X6</textarea>
<textarea id="after"></textarea>
</div>
<button>GEN</button>
</body>
</html>
|
|
21.11.2016, 14:36
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Но тогда мне нужно этот код переделать
var arr=[
{value:6,list: [{text: 'A3'},{text: 'A4'},{text: 'A5'}]},
{value:7,list: [{text: 'M3'},{text: 'M6'},{text: 'X5'},{text: 'X6'}]},
];
$("#category").change(function() {
selval = $(this).val();
forval = arr[selval - 6].list;
$("#selectmodel").empty();
$.each(forval, function(i, val) {
$("#selectmodel").append("<option value='"+val.text+"'>"+val.text+"</option>");
})});
$("#selectmodel").change(function() {
text = $(this).val();
$("#xf_model").val(text);
});
|
|
21.11.2016, 14:50
|
|
Профессор
|
|
Регистрация: 05.03.2012
Сообщений: 477
|
|
Сообщение от ksa
|
charset=windows-1251
|
ksa, у тебя не бывает проблем с этой кодировкой? (кракозябры там всякие, иногда) ?
utf-8 более универсальна, имхо
|
|
21.11.2016, 14:52
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,210
|
|
Сообщение от join
|
utf-8 более универсальна, имхо
|
У нас есть данные в MS DOS...
И не все символы перекодируются в utf-8. Вот и сижу пока в ней...
|
|
21.11.2016, 14:59
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Код сам переделал.
Как мне в конце каждой строчки вывода ставить перенос (\n)?
Поставил вот тут:
val=val.replace(reg,'{value:$1,list: [$2]}')
Но теперь после каждой запятой перенос, а нужно только после конца строки.
И еще каждое значение нужно оборачивать в одинарные скобки ('значение')
было так: [qwe,asd,zxc] нужно так: ['qwe','asd','zxc']
Последний раз редактировалось karakym, 21.11.2016 в 15:16.
|
|
21.11.2016, 17:15
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
karakym,
что вы в конечном итоге делаете? Какой-то офигительный свсистопляс у вас - в одной теме вы формируете на клиенте (!) SQL запрос, и если его клиент (!) и отправит на исполнение, это не 100%, а все 200% дыра в безопасности. Мало того, в той же теме вместо раздельных полей формы то же самое что и здесь - заморочки со строкой, что не есть гут.
Что является источником этих "уродливых" данных, которые в непотребном виде и их приходится еще получать?
|
|
22.11.2016, 21:59
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Есть у меня на сервере файлы в которые необходимо вставить информацию, вот и использую данные сниппеты для генерации такой информации. Вы не переживайте, данные скрипты не будут использоваться напрямую.
|
|
23.11.2016, 00:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Да мне то чего переживать, пишите вы и заботы ваши.
|
|
|
|