Javascript 使用JQuery获取所有数据绑定值
上面是我的函数,我想读取所有属性数据绑定的输入Javascript 使用JQuery获取所有数据绑定值,javascript,jquery,forms,object,properties,Javascript,Jquery,Forms,Object,Properties,上面是我的函数,我想读取所有属性数据绑定的输入 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);
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);
})
}
^运行函数时,我希望它返回'AOfficer',因为这是数据绑定值
例如
<input type="text" id="frmIn1-Officer" data-bind="value: AOfficer" class="InputText"/>
在for-each循环中,我希望能够使用数据绑定的值。。
e、 g值[0]=“AOfficer1”
对不起,如果我的解释有点让人困惑,我脑子里的想法很完美,但要把它写下来要困难得多 您可以通过jQuery属性选择器-
$(“[数据绑定]”)
搜索具有数据绑定
属性的任何元素,然后使用.each()
对其进行迭代,并从中构造数据绑定
数组,从每个值中剥离值:
这将实现以下目的:
<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"/>
我举了一个例子:
jQuery对“数据某物”属性的解释与其他属性不同。因此,您应该选择所有元素并查找它们的数据绑定,如下所示:
$( "[data-bind]" ).each( function() {
var elem = $( this );
alert( elem.data( "bind" ) );
});
然后你可以进行字符串操作来解析你的值,我建议你使用JSON并像加载一个对象一样加载它。这里有一个有用的工具:您可以使用.each()
的方法来完成这项工作
获取具有
数据绑定
属性的所有元素:$(“[data bind]”)
迭代这些元素并操作数据绑定属性:
$('input').each(function() {
var $this = $(this);
alert($this.data('bind').replace("value: ", ""));
});
您是否尝试过jquery的
.data()
方法<代码>$('input')。数据('bind')代码>?是的,但是当使用for-each语句并执行该操作时,我得到了Uncaught-TypeError:对象0没有方法“data”,这可能是因为在for each
循环中,您使用的是本机DOM元素,而不是jQuery对象。只有包装在jQuery对象中的元素才具有.data()
方法。
$(document).ready(function(){
$('input.InputText').each(function(){
var input = $(this);
if ($(input).data().bind) {
alert($(input).data().bind);
}
});
});
$('input').each(function() {
var $this = $(this);
alert($this.data('bind').replace("value: ", ""));
});
$('[data-bind]').each(function(element,index){
var data_bind = $(element).data('bind');
alert(data_bind);
})