jQuery从PHP中循环获取价值

时间:2014-08-02 09:29:40

标签: php jquery

我正在使用jQuery。现在我想从文本框循环中获取ID值的值。

示例:

<?php
while
{
$id = $d['id'];
?>
<input type="text" name="text" id="txt" value="<?php echo $id; ?>"/>
<input type="submit" class="btn_confirms" id="txt<?php echo $id; ?>" value="Go"/>
<?php
}

和jQuery这样:

$(function() {
$(".btn_confirms").click(function()
{
var txt_id = $('#txt').val();
alert(txt_id);
}
});

如果我有3个数据的示例。 问题是,当我单击按钮Go时,它只显示PHP循环的第一个值。另一个按钮Go 2&amp; 3显示相同的值。

请帮助。

2 个答案:

答案 0 :(得分:3)

您无法在页面上显示重复的ID,它们应该是唯一的。对于重复元素,要么使用类,要么使ID唯一(就像你为按钮做的那样)。

这样的事情应该有效:

<input type="text" name="text" id="txt<?php echo $id; ?>" value="<?php echo $id; ?>"/>
<input type="submit" class="btn_confirms" id="button<?php echo $id; ?>" value="Go"/>

然后,要从click函数中获取输入字段的id,您可以执行以下操作:

$(".btn_confirms").click(function()
{
    var txt_id = $(this).attr('id').replace('button', 'txt');
    var value = $('#'+txt_id).val();
    alert(txt_id + ": " + value);
})

请在此处查看:http://jsfiddle.net/shomz/R9s2R/

答案 1 :(得分:0)

你可以试试这个

<?php
while
{
    $id = $d['id'];
?>
    <input type="text" name="text" id="txt<?php echo $id; ?>" value="<?php echo $id; ?>"/>
    <input type="submit" class="btn_confirms" id="btn<?php echo $id; ?>" textbox_id="#txt<?php echo $id; ?>" value="Go"/>
<?php
}
?>
<script>
$(function() {
    $(".btn_confirms").click(function()
    {
        var textbox_id = $(this).attr('textbox_id');
        var textbox_val = $(textbox_id).val();
        alert(textbox_val);
    });
});
</script>

<强> DEMO