我正在使用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显示相同的值。
请帮助。
答案 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);
})
答案 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 强>