0

ID を使用して、要素のすべての属性値のリストを取得する必要があります。私のコードは次のとおりです。

<div id="DivRoles" align="center" style="">
<select id="newOptions" name="UserRole" multiple="multiple">
    <option selected="selected" value="1">Normal User</option>
    <option selected="selected" value="5">Senior Manager</option>
</select>
<!-----Need to get values from this list below------->
<div id="ms-UserRole" class="ms-container">

    <div class="ms-selection">
        <div id="currentroles" class="custom-header">Current Roles</div>
        <ul class="ms-list">
            <li class="ms-elem-selected" ms-value="1">Normal User</li><!--Need this value--->
            <li class="ms-elem-selected" ms-value="5">Senior Manager</li><!--Need this value--->
        </ul>
    </div>
</div>

<input type="button" class="input-rounded-submit" value="Save" onclick = "Javascript:UpdateRoles()"/></div>

ここでは、「通常のユーザー」の値を取得する必要があります。つまり、「1」と「上級管理者」の値を「5」として取得する必要があります。次に、値を連結し、最終的な答えを「15」として表示する必要があります。

私は以下のコードを試していますが、うまくいっているようには見えません:

function UpdateRoles() {
    alert("Hi");
    var list;

    $.each()('#ms-UserRole', function(){
        list += $.attr(".ms-selection ms-list li ms-elem-selected ms-value").val();
    });

    alert(list);
}

どなたか解決策をご存じの方がいらっしゃればお願いします。ありがとう、N.C.

4

4 に答える 4

1

これを試して:

var list = "";
$(".ms-elem-selected").each(function() { list += $(this).attr("ms-value"); });

数値を並べ替えたい場合は、最初に配列として格納し、配列を並べ替えてから、文字列に結合する必要があります。

サンプル

var arr = [];
$(".ms-elem-selected").each(function() { arr.push($(this).attr("ms-value")); });
arr.sort();
list = arr.join("");
于 2012-09-26T13:24:15.767 に答える
0

よくわかりませんが、これを試してください

function UpdateRoles() {
    var output = '';
    $('.ms-elem-selected').each(function() {
        output += $(this).attr('ms-value');
    })


    alert(output);
}
于 2012-09-26T13:25:06.467 に答える
0

試す :

$('.ms-list').children().each(function(){
    alert($(this).attr('ms-value'));
});
于 2012-09-26T13:25:51.483 に答える
0

これを試して:

    var list = '';
    $('.ms-list').each(function(){
     //alert($(this).text());
    list += $(this).find('.ms-elem-selected').attr('ms-value');
   });

   alert(list);
于 2012-09-26T13:30:24.933 に答える