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);
}

如果有人知道解决方案,请帮助我。谢谢,数控

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 回答