如何在中获取输入的索引可以使用jQuery

How to get index of input in can use jQuery

本文关键字:索引 可以使 jQuery 输入 获取      更新时间:2023-09-26

我有一个从js代码生成的输入数组。我设置了这样的输入名称:name="myTextInput[]"

如何获取所选输入的索引?

我试过类似的东西:

 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/

**编辑**

如果您希望在单击时在警报框中显示值,请同时使用each函数和click函数。记住要获取输入的实时值,请使用$(this).val()。点击返回索引和值数据:

$('input').each(function(index, val){
    $(this).click(function(){
        alert(index + ' has value: ' + $(this).val());
    });
});

您可以得到这样的输入(但不确定您是否真的想要click事件)。。。

var inputs = $('input[name="myTextInput[]"]');
inputs.click(function() {
    alert(inputs.index(this));
});

请使用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/

希望这能有所帮助!

"jQuery方式"是避免使用onClick="whatever()",并使用与HTML标记分离的纯JavaScript。在一对<script>标签之间尝试此操作(注意:需要jQuery 1.7或更高版本):

$('input').on('click', function() {
    var varname = $(this).attr('name'),
        $arr = $('input[name="'+varname+'"]'),
        idx = $arr.index(this);
    alert(idx);
});​

http://jsfiddle.net/mblase75/EK4xC/