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

LmC*_*LmC 4 javascript forms jquery properties object

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

}
Run Code Online (Sandbox Code Playgroud)

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

<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer" class="InputText"/>
Run Code Online (Sandbox Code Playgroud)

^当运行我的函数时,我希望它返回'AOfficer',因为那是数据绑定值.

所以一个例子是

<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer1" class="InputText"/>
<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer2" class="InputText"/>
<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer3" class="InputText"/>
<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer4" class="InputText"/>
<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer5" class="InputText"/>
<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer6" class="InputText"/>
Run Code Online (Sandbox Code Playgroud)

并且在for each循环中我希望能够使用数据绑定的值.例如,值[0] ='AOfficer1'

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

Mil*_*ric 5

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

$(document).ready(function(){
    $('input.InputText').each(function(){
        var input = $(this);
        if ($(input).data().bind) {
            alert($(input).data().bind);
        }
    });
});?
Run Code Online (Sandbox Code Playgroud)

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