7

在下拉菜单中,我将每个选项显示如下:

scomp23 - Jack Turner

现在使用下面的代码:

var text = $(this).find('option:selected').text();
var split = text.split(' - ');
$('#currentAdminAlias').val( split[0] );     
$('#currentAdminForename').val( split[1] );   
$('#currentAdminSurname').val( split[2] );  

我要做的是scomp23#currentAdminAlias文本输入中显示(这很好),Jack#currentAdminForename文本输入中显示并Turner#currentAdminSurname文本输入中显示。

我遇到的问题是它#currentAdminForename仅在文本输入中显示名字和姓氏。

现在我知道为什么会发生这种情况,但我的问题是如何在单独的文本输入中显示名字和姓氏?

4

2 回答 2

3
        var split = text.split(' ');
        $('#currentAdminAlias').val( split[0] );     
        $('#currentAdminForename').val( split[2] );   
        $('#currentAdminSurname').val( split[3] );  
于 2012-12-19T00:28:05.950 回答
2
        var text = $(this).find('option:selected').text();
        var split = text.split(' - ');
        var names = split[1].split(' ');
        $('#currentAdminAlias').val( split[0] );     
        $('#currentAdminForename').val( names[0] );   
        $('#currentAdminSurname').val( names[1] );

或者考虑将您想要的每个值作为 HTML 5 数据属性附加到选项元素。哪个会给你

        var element = $(this).find('option:selected');
        $('#currentAdminAlias').val(element.data('alias'));
        $('#currentAdminForename').val(element.data('forename'));
        $('#currentAdminSurname').val(element.data('surname'));

示例选项元素看起来像

        <option data-alias="scomp23" data-forename="Jack" data-surname="Turner">
          scomp23 - Jack Turner
        </option>
于 2012-12-19T00:35:23.473 回答