0

我有一堆图像名称正在从我的数据库中检索并处于 while 循环中。在这个循环中,我有一个带有图像名称的小表格。此表格正用于其他目的。我想要的是获取带有项目名称的字段信息到 javascript。

例子 :

while($row = mysql_fetch_array($query)) { 
    $itemname = $row['name'];
    echo "< input type='hidden' name='$itemname' value='$itemname'>
    <img src='source' onclick='getname()'  width='100%' height='100%' />"; 
}

我相信我点击的每张图片都只给我数据库中的第一个信息的原因是因为我的 id 被复制了。我的问题是如何在不使用 getElementById 的情况下将字段信息获取到 javascript?

4

2 回答 2

2

使用以下更改后的 PHP:

$i = 0;
while($row = mysql_fetch_array($query)) { 
    $itemname = $row['name']; 
     echo "<input type='hidden' name='".$itemname."[]' id='input$i' value='$itemname' />";
     echo "<img src='source' onclick=\"getname('input$i')\" width='100%' height='100%' />"; 
     $i++;
}

然后您可以在 Javascript 中检索输入值:

 function getname(id) {
   var theinput = $('#'+id).val(); // jQuery example
   // do something

(我还将输入名称更改为一个数组,当然您可以将其命名为您想要的名称,也许$itemname$i可以是一个想法,这取决于您如何以及是否要处理您的表单,但是名称应该是唯一的或数组好实践)

这是 HTML/JS 的一个工作示例:http: //jsfiddle.net/fuHSv/1/

于 2012-10-16T20:00:27.587 回答
0

如何使用一些 jQuery 1.8.2,如下所示:

$(document).ready(function() {
    var inputs = $('input').on('click', function() {
        var name = $(this).attr('name');
        var val = $(this).val();
        // do stuff
    });
});

有关更多信息,请参阅api.jquery.com

于 2012-10-16T20:04:24.193 回答