Jquery:获取属性值

时间:2012-09-26 13:19:59

标签: jquery jquery-selectors

我需要使用其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);
}

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

4 个答案:

答案 0 :(得分:1)

试试这个:

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

如果您希望对数字进行排序,则应首先将它们存储为数组,对数组进行排序,然后将其连接到字符串中:

<强> SAMPLE

var arr = [];
$(".ms-elem-selected").each(function() { arr.push($(this).attr("ms-value")); });
arr.sort();
list = arr.join("");

答案 1 :(得分:0)

不确定我完全明白,但请尝试this

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


    alert(output);
}

答案 2 :(得分:0)

尝试:

$('.ms-list').children().each(function(){
    alert($(this).attr('ms-value'));
});

答案 3 :(得分:0)

试试这个:

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

   alert(list);