我有一个由js代码生成的输入数组。我已经设置了这样的输入名称:name="myTextInput[]"
如何在javascript中获取输入索引 - 可以使用jQuery
如何获取所选输入的索引?
我想是这样的:
onClick="oc(this);"
其中:
function oc(inp)
{
return(inp.index);
}
,但不工作。
我也可以使用jQuery
我有一个由js代码生成的输入数组。我已经设置了这样的输入名称:name="myTextInput[]"
如何在javascript中获取输入索引 - 可以使用jQuery
如何获取所选输入的索引?
我想是这样的:
onClick="oc(this);"
其中:
function oc(inp)
{
return(inp.index);
}
,但不工作。
我也可以使用jQuery
您可以使用jQuery中的EACH函数。这将通过一组匹配的元素进行解析。你可以在里面放置一个自定义函数,这个自定义函数将使用每个元素的索引作为参数解析。
$('input').each(function(index){
alert(index);
});
您还可以得到每个输入的值是这样的:
$('input').each(function(index, val){
alert(index + ' has value: ' + val);
});
这里查看详细信息:http://api.jquery.com/jQuery.each/
**编辑**
如果你想显示的值在点击时的警告框中,一起使用每个功能和点击功能。请记住要获取输入的实时值,请使用$(this).val()
。点击返回索引和数值数据:
$('input').each(function(index, val){
$(this).click(function(){
alert(index + ' has value: ' + $(this).val());
});
});
我以为OP在寻找'onclick',而不是'each()'函数的一部分。如果你要循环,你可以考虑一个简单的'for(...)'结构。 – shanabus 2012-03-02 13:39:03
@shanabus - 谢谢你的抬头。 – 2012-03-02 13:45:46
请使用index()
方法来查找元素的位置。
看看这个例子:http://jsbin.com/uyucuv/edit#javascript,html
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
<li id="baz">baz</li>
</ul>
$(function() {
$("li").on("click", function() {
alert($(this).index());
});
});
检查index()
文档浏览:http://api.jquery.com/index/
希望这有助于!
你可以得到这样输入(不知道如果你真的想要的click
事件虽然) ...
var inputs = $('input[name="myTextInput[]"]');
inputs.click(function() {
alert(inputs.index(this));
});
@nachito:啊,谢谢。完全错过了。 – 2012-03-02 13:46:29
的“jQuery的方式”是为了避免onClick="whatever()"
和使用纯JavaScript从分离HTML标签。一对<script>
标签之间试试这个(注意:需要jQuery的1.7或更高版本):
$('input').on('click', function() {
var varname = $(this).attr('name'),
$arr = $('input[name="'+varname+'"]'),
idx = $arr.index(this);
alert(idx);
});
你不使用jQuery在你的示例代码。你想要_____吗? – Blazemonger 2012-03-02 13:32:47
是的,我可以使用jQuery代码 – Ervin 2012-03-02 13:33:46
将来,请尝试提供一个完整的代码示例,以便我们准确理解您正在处理的内容以及您想要解决的问题。 – Blazemonger 2012-03-02 13:55:48