单击时,按回车键进入文本框

On click, press enter to textbox

有一个组合框,如果我单击一个选项,该值将复制到一个文本框。我想把这些选项值一个一个写在另一个下面。

这是 javascript 代码:

$('#subcategory1').on('change', function() {
    $('#properties').val($('#properties').val() + '' + $(this).val() + ' ');
})

我尝试使用“+ keyCode==13”,但它不起作用。 帮帮我!

如果您想将子类别元素的值添加到 textarea,这是一个示例。您可以使用换行符 \n 代替 HTML 元素 <br>

$('#subcategory1').on('change', function() {
    $('#properties').val($('#properties').val() + "\n" + $(this).val());
});

HTML:

<textarea name="properties" id="properties"></textarea>  

所以有两种方法可以实现。

第一种方法是使用 ul-List-Tag 并使用点击值附加 li-Child-Tags。

但如果要使用文本框,则必须将当前值与新值分开,并在它们之间添加 \n returns。

HTML

Select your products: 

<select id="products">
    <option>iPhone</option>
    <option>PC</option>
    <option>Xbox One</option>
    <option>Stack Underflow</option>
    <option>Someone your like</option>
</select>

<br>
<br>

Your selected products:

<br>
<br>

<ul id="selected_products"></ul>

<textarea id="selected_products_textarea"></textarea>

javascript - 一个脚本来统治他们

var ul = document.getElementById('selected_products');
var textarea = document.getElementById('selected_products_textarea')

document.getElementById('products').onchange = function() {

    // UL List Part
    var li = document.createElement('li');
    li.innerHTML = this.value;

    ul.appendChild(li);

    // Textarea Part
    textarea.innerHTML = textarea.innerHTML.length == 0 ? this.value : textarea.innerHTML + '\n' + this.value;

}

JSFiddle:http://jsfiddle.net/kuwc6kte/1/

现在您可以更进一步,从 select 列表中删除 selected 项目,或者检查当前 selected 选项是否已经在列表中,然后继续..无论您的脚本有什么要求。


编辑

刚看到你使用 jQuery,这里有一个 jQuery 解决方案,具有相同的 HTML:

jQuery

var ul = $('#selected_products');
var textarea = $('#selected_products_textarea');

$('#products').on( 'change', function() {

    // UL List Part
    var li = $('</li>');
    li.html( $(this).val() );

    ul.append(li);

    // Textarea Part
    textarea.html( textarea.html().length == 0 ? $(this).val() : textarea.html() + '\n' + $(this).val() );

});

JSFiddle:http://jsfiddle.net/kuwc6kte/3/