根据val更改.join('\ n \ r')

时间:2018-12-24 01:33:59

标签: javascript jquery

我正在设置一个jquery函数以将数组输出到<textarea>

然后,所有值都用.join(\n\r)分隔,尽管我希望使用.join(\n\r)来代替值,而我选择的值使用.join()来代替

我试图使用.filter(x => typeof x === 'smeAssist')来尝试仅使用'smeAssist'使用.join(),尽管这似乎过滤了所有内容,但我认为我使用的方式不正确?

        $('#formOut').click(function() {  
        const ret = [
            {id: 'yesCheck', label: 'TL or SME Assistance'},
            {id: 'noCheck', label: 'TL or SME Assistance'},
            {id: 'smeAssist', label: ''}
        ].reduce((memo, {id, label, linebreak}) => {
            const val = $(`#${id}`).val();
            if (val) {
            if (linebreak && memo.length) {
                memo.push('-------------------------------------------------------')
            }
            if($(id == 'yesCheck' && '#yesCheck').is(':checked')) { 
                memo.push(`${label}: ${"Yes"}`); return memo;
            }
            if($(id == 'yesCheck' && '#yesCheck').is(':not(:checked)')) {
                return memo;
            }
            if($(id == 'noCheck' && '#noCheck').is(':checked')) { 
                memo.push(`${label}: ${"No"}`); return memo;
            }
            if($(id == 'noCheck' && '#noCheck').is(':not(:checked)')) {
                return memo;
            }
            if($(id == "smeAssist" && '#yesCheck').is(':checked')) {
                memo.push(`|${val}`); return memo;
            }
            if($(id == "smeAssist" && '#yesCheck').is(':not(:checked)')) {
                return memo;
            }
            else memo.push(`${label}: ${val}`);
            }
            return memo;
        }, []).join('\n\r');

当前结果

TL or SME Assistance: Yes

|Test

我正在尝试在任何选定的id

上获得以下结果
TL or SME Assistance: Yes | Test

0 个答案:

没有答案