从礼物中获取价值

时间:2014-08-02 20:50:17

标签: jquery jquery-mobile

  var item1 = $( "li > a[data-itemid='"+v+"']" );
  console.log(item1);
  var va= $(this).find(item1).attr('value');

我的

<li relatemodule="Users" name="assigned_user_id" data-itemid="1" class="ui-screen-hidden"><a href="#" data-itemid="1" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Administrator</a></li>

我想在ul的特定li中找到一个礼物,然后从

中提取值

尝试了一段时间,但我在va

中得到了一个未定义的内容

我需要提取值管理员

<ul id="user_id1_c" name="user_id1_c" data-role="listview" relate="yes" relatedmodule="Users" linkedmodule="" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search items..." class="ui-listview"><li relatemodule="Users" name="user_id1_c" data-itemid="1" class="ui-screen-hidden"><a href="#" data-itemid="1" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Administrator</a></li><ul>

请帮忙

修改

我得到的item1值如图所示,但我得到空白

  var item1 = $("li > a[data-itemid='" + v + "']");
  console.log(item1);
  var va = $(this).find(item1).text();

enter image description here

以下是我的全部代码:

$("#editcasedata").find('input, select, textarea,ul,li').each(function () {
//console.log($(this).attr('name'));
if ($(this).val() === 'Submit') {} else {

    var input = $(this);

    //console.log(input);

    $.each(data, function () {

        $.each(this, function (k, v) {


            if (input.attr('name') === k) {
                if (input.attr('type') === 'checkbox') {

                    if (v == 1) {
                        $(input).prop('checked', true);

                    } else {
                        $(input).prop('checked', false);
                    }
                }
                if (input.attr('type') === 'multienum') {
                    var values = v.substring(1, v.length - 1);

                    $.each(values.split("^,^"), function (i, e) {

                        if (e !== '') {
                            $(input).find("option[value=" + e + "]").prop("selected", true);


                            //$(input).find("option[value=" + e + "]").prop("aria-selected",true);
                        }
                    });


                } else if (input.attr('type') === 'datetime-local') {

                    if (v) {

                        var $valdate = serverToLocalJsDateObj(v);


                        if (!isNaN($valdate.getTime())) {
                            $valdate = $valdate.toISOString();
                            console.log($valdate);
                            $valdate = $valdate.split('Z')[0];
                            console.log($valdate, v);

                            $(input).val($valdate);
                        }
                    }


                } else if (input.attr('relate') === 'yes') {



                    var item1 = $("li > a[data-itemid='" + v + "']");
                    console.log(item1);
                    var va = $(this).find(item1).text();

                    console.log(va);
                    $('[check="yes"]', e.target).attr('type', 'text');
                    $('[check="yes"]', e.target).attr('main', v);
                    $('[check="yes"]', e.target).val(va);

                } else {


                    $(input).val(v);

                    //'#'+$(input).attr('name').val(v);
                }

                $("#editcasedata").append(input.html()).trigger('create');
            }

        });






    });



}


});

3 个答案:

答案 0 :(得分:2)

使用.text()函数获取a代码的值:

var item1 = $( "li > a[data-itemid='"+v+"']" );
var va = $(this).find(item1).text();
console.log(va);

.attr('value')会查找value=""属性,这就是您获得undefined

的原因

<强> JSFiddle Demo

答案 1 :(得分:0)

text()功能是您所需要的:

var item1 = $( "li > a[data-itemid='"+v+"']" );
console.log(item1);
var va= $(this).find(item1).text();

答案 2 :(得分:0)

由于您已经拥有item1,因此无需find()

只需var va = item1.text()即可