Onclick显示Array Text Field值

时间:2014-06-03 18:37:05

标签: javascript jquery html

我的html页面中的文本字段集以数组格式显示,具有相同的字段名称。 我想在点击附近的链接时提醒值。

<tr>
  <td>    
    <div id="myid">
      <input name="item_name[]" type="text" value="1"/>
    </div>
    <div>
      <a onclick="alert(document.getElementById('item_name').value))">
    </div>
  </td>
</tr>

<tr>
  <td>    
    <div id="myid">
      <input name="item_name[]" type="text" value="1"/>
    </div>
    <div>
      <a onclick="alert(document.getElementById('item_name').value))">
    </div>
  </td>
</tr>

我上面的示例,如果我点击第一行,那么它应该警告1;接下来应警告2

4 个答案:

答案 0 :(得分:0)

你需要改变这个:

<a onclick="alert(document.getElementById('item_name').value))">

成:

<a onclick="alert(this.parentNode.children[0].value)">LINK</a>

说明:

this将引用目标元素(单击的元素)。从那里你需要找到parentNode中的父亲。并从父项中获取children[0]的第一个子元素。瞧,你会发现你的价值。

答案 1 :(得分:-1)

此:

document.getElementById('item_name')

查找属性id等于item_name的元素,但输入中没有id。改变这个:

<input name="item_name[]" type="text" value="1"/>

对此:

<input id="item_name" name="item_name[]" type="text" value="1"/>

答案 2 :(得分:-1)

首先,你不是在这个代码中的任何地方使用JQuery只是javascript。

其次,您在任何地方都没有 ID item_name属性。因此,如果没有元素具有该名称的属性id,则无法选择标识为item_name的元素。您需要不同类型的选择器,或者需要将ID添加到这些输入字段。

试试这个:

将类添加到名为item_name的所有输入中,同时将类添加到div:

<input name="item_name[]" class="item_name" type="text" value="2" />

JQuery的:

$('div.my_div_container a').on('click', function() {
   alert($(this).closest('div').find('input.item_name').val();

   //or you can use $(this).siblings('input.item_name').val();
}

答案 3 :(得分:-1)

JQuery为您提供.siblings()函数,该函数允许您在同一层次结构级别中查找其他元素。 阅读它here

以下是您将如何使用它:

<script type="text/javascript">
   $(document).ready(function () {
       $("div.myid > a").click(function () { 
           alert($(this).siblings("input").val())
       });
   });
</script>