2013-06-05 34 views
17

Khi nhấp vào một trong các tùy chọn tôi đang cố gắng lấy giá trị dữ liệu từ 'ul li a' và đặt nó vào nút bên dưới, tôi đã thiết lập một ví dụ fiddle tại đây: http://jsfiddle.net/q5j8z/4/jQuery truy cập thuộc tính dữ liệu html5

Nhưng cant dường như làm cho nó làm việc

$('ul li a').click(function(e) { 
    e.preventDefault(); 

    var value = $(this).data(); 

    $('.button').data('value'); 
}); 

có ai có bất kỳ ý tưởng xin vui lòng?

+0

thấy điều này sửa đổi fiddle http://jsfiddle.net/q5j8z/16/ – Rinku

Trả lời

15

Bạn có thể làm điều này:

$('ul li a').click(function (e) { 
    e.preventDefault(); 
    var value = $(this).data('value'); 
    $('.button').data('value', value); 
    console.log($('.button').data('value')); 
}); 

Ở đây, $(this).data('value') được sử dụng để nhận được giá trị data thuộc tính của liên kết.

$('.button').data('value', value) được sử dụng để đặt giá trị thuộc tính data của nút.

Sử dụng, console.log($('.button').data('value')); bạn có thể kiểm tra bảng điều khiển giá trị data đang được đặt.

FIDDLE DEMO

Để biết thêm thông: - .data() API Documentation

+1

Cảm ơn rất nhiều – Adam

+0

@adam Rất vui khi được trợ giúp! Bạn luôn có thể truy cập http://api.jquery.com/ nếu bạn có bất kỳ nghi ngờ nào về bất kỳ phương thức jQuery nào :) –

1

Hãy thử điều này:

$('ul li a').click(function(e) { 
     e.preventDefault(); 

     var value = $(this).data('value'); 

     $('.button').data('value', value); 
    }); 

Bạn có thể nhìn thấy giá trị của nút với console.log vào giao diện điều khiển của bạn với:

console.log('data: '+$(".button").data("value")); 
2

Sử dụng công cụ như sau:

var value = $(this).data('value'); 

Và sau đó:

$('.button').data('value', value); 
1

You are not gán các dữ liệu giá trị cho các nút thực sự. Hãy thử điều này:

$('ul li a').click(function(e) { 
    e.preventDefault(); 

    var value = $(this).data(); 

    // assign the value form the clicked anchor to button value data 
    $('.button').data('value', value); 

    console.log($('.button').data('value')); 
}); 
0

Trước hết bạn đang cố gắng chèn giá trị của biến value hoặc 'giá trị' theo nghĩa đen?

data() có nghĩa là để được sử dụng Tương tự để attr('attr-name', attr_value) như dưới đây:

$('ul li a').click(function(e) { 
    e.preventDefault(); 
    var value = $(this).data('value'); 
    $('.button').data('value', value); 
}); 

Các công trình trên trong fiddle của bạn.

0

Xin lưu ý rằng bạn không cần phải xác định đĩa dữ liệu tiền tố vì Jquery không tự động

Vì vậy, đảm bảo bạn đang sử dụng thuộc tính phù hợp với giá trị dưới

$('ul li a').click(function(e) { 
    e.preventDefault(); 
    var value = $(this).data('value'); 
    $('.button').data('value', value); 
}); 
Các vấn đề liên quan