是否可以从foreach循环中获取attr值
is it possible to get attr value from insede a foreach loop
我尝试了这个代码,但它提醒未定义的
<?php
foreach($result1 as $res1)
{
$user_id = 5;
?>
<form name="wish" method="post" action="javascript:void(0);">
<input type="submit" class="submit_wish1" id="calButton" data-wid="<?php echo $res1->user_id; ?>" data-uid="<?php echo $user_id; ?>" value="" onclick="favfunction()"/>
</form>
<?php
}
?>
<script>
function favfunction()
{
calBtn = $(this).attr('data-wid');
calBtn1 = $(this).attr('data-uid');
alert(calBtn);
alert(calBtn1);
}
</script>
当我使用时
calBtn = $('#calButton').attr('data-wid');
calBtn1 = $('#calButton').attr('data-uid');
它会提醒相同的值。
我建议您将DOM对象本身传递到函数中
onclick="favfunction(this);"
然后你可以在你的JS 中做到这一点
<script>
function favfunction(elm)
{
var calBtn = $(elm).attr('data-wid');
alert(calBtn);
}
</script>
问题的根源很可能是对提交按钮使用相同的id
。
<form name="wish" method="post" action="javascript:void(0);">
<?php
$i = 1;
foreach($result1 as $res1)
{
$user_id = 5;
?>
<input type="submit" class="submit_wish1" id="calButton_<?php echo $i; ?>" data-wid="<?php echo $res1->user_id; ?>" data-uid="<?php echo $user_id; ?>" value="" onclick="favfunction(this)"/>
<?php
$i += 1;
}
?>
</form>
在html文档中应该只有一个CCD_ 2标签。
元素不应该有相同的id,所以我们在id后面附加一个数字,这个数字与foreach循环的迭代相关。
<script>
function favfunction(elm)
{
var wid = $(elm).data('wid'),
uid = $(elm).data('uid');
alert('wid: ' + wid + ' - uid: ' + uid);
}
</script>
代码段示例
带有样本Php输出
function favfunction(elm)
{
var wid = $(elm).data('wid'),
uid = $(elm).data('uid');
alert('wid: ' + wid + ' - uid: ' + uid);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="wish" method="post" action="javascript:void(0);">
<input type="submit" class="submit_wish1" id="calButton_1" data-wid="1" data-uid="5" value="Submit" onclick="favfunction(this)" />
<input type="submit" class="submit_wish1" id="calButton_2" data-wid="2" data-uid="5" value="Submit" onclick="favfunction(this)" />
<input type="submit" class="submit_wish1" id="calButton_3" data-wid="3" data-uid="5" value="Submit" onclick="favfunction(this)" />
<input type="submit" class="submit_wish1" id="calButton_4" data-wid="4" data-uid="5" value="Submit" onclick="favfunction(this)" />
<input type="submit" class="submit_wish1" id="calButton_5" data-wid="5" data-uid="5" value="Submit" onclick="favfunction(this)" />
</form>
相关文章:
- 获取一个javascript对象attr's
- 从每个父对象获取attr,并为每个子对象设置attr
- 表单操作值未从attr()函数中获取
- 获取点击按钮的值/attr作为event.data,带有.on(“点击”…)
- 使用jQuery.attr()方法获取元素属性
- jQuery设置attr,然后获取attr
- 是否可以从foreach循环中获取attr值
- 获取 attr ID 并在 jQuery 中的 IF/ELSE 中使用
- 如何获取多个 jquery attr 值
- 在挖空JS中从ATTR调用模型函数以获取动态属性
- J查询如何获取 attr 标签值
- jQuery 无法获取 attr 值
- jQuery 循环遍历子元素以获取 attr 值
- 使用javascript从字符串中获取attr src
- 如何在jquery中获取attr值
- 通过获取.attr,使用JavaScript / jquery播放/暂停音频文件
- 当试图为href获取attr时获取#[object对象]
- JQuery -从变量中的HTML字符串中获取attr/text
- 使用已知的href变量获取attr(id)
- Jquery帮助获取.attr()