使用JQuery获取所有数据绑定值

function getDbValue() { alert($('[data-bind]').length); alert($('[data-bind][0].data-bind')); alert($('[data-bind][0].value')); jQuery.each($('[data-bind]'), function(databind,key) { alert(key); alert(databind); alert(databind[key].data-bind); }) } 

以上是我的函数,我想读取所有在其中具有data-bind属性的输入

  

^当运行我的函数时,我希望它返回’AOfficer’,因为这是数据绑定值。

所以一个例子是

       

并且在每个循环中我希望能够使用数据绑定的值。例如,值[0] =’AOfficer1′

对不起,如果我的解释有点令人困惑,我的想法在我的头脑中完美,但试图写它是更难。

jQuery以不同于其他属性的方式解释“data-something”属性。 因此,您应该选择所有元素并查找其数据绑定,如下所示:

 $(document).ready(function(){ $('input.InputText').each(function(){ var input = $(this); if ($(input).data().bind) { alert($(input).data().bind); } }); });​ 

然后你可以做字符串操作来解析你的值,我建议使用JSON,然后像对象一样加载它。 这是一个工作小提琴: http : //jsfiddle.net/3NERK/6/

您可以通过jQuery属性选择器搜索具有data-bind属性的任何元素 – $("[data-bind]") ,然后使用.each()对其进行迭代,并.each()构造.each()数组,剥离value:每个价值。

这样就可以了:

 dataBinds = []; $("[data-bind]").each(function(){ dataBinds.push($(this).attr("data-bind").substring(7)); });​​​​​​ 

我已经建立了一个例子: http : //jsfiddle.net/dvirazulay/YPnwQ/

 $( "[data-bind]" ).each( function() { var elem = $( this ); alert( elem.data( "bind" ) ); }); 

http://jsfiddle.net/NhNhK/

使用data-bind属性获取所有元素: $('[data-bind]')

迭代这些元素并操纵data-bind属性:

 $('[data-bind]').each(function(element,index){ var data_bind = $(element).data('bind'); alert(data_bind); }) 

您可以将.data()方法与.each()来实现此目的。

DEMO

 $('input').each(function() { var $this = $(this); alert($this.data('bind').replace("value: ", "")); });​