使用jQuery

时间:2016-11-15 21:10:12

标签: javascript php jquery json

我试图获取特定循环元素的值。我基本上有一个记录列表,如果我点击一个记录,我希望能够获得该元素的status的值。 status值为二进制,0或1.我遇到的问题如下:

- 我创建的点击功能没有生成值,警报也没有显示。

- 正如您在我的foreach循环中看到的那样,如果符合某个条件,我会为$status_img输出$status。我需要的价值实际上是$status

有谁看到我能做些什么来帮助解决我的问题?

foreach ($rows as $row) {
            $status = $row['status'];
            $class = $status != 0 ? 'status-nonzero' : '';
            if ($status == 0) {
                $status_img = '<img src="../icons/collection/x-sign.png" alt="Goal Not Complete">';
            }
            else {
                $status_img = '<img src="../icons/collection/checkmark.png" alt="Goal Complete">';
            }
            $goal_date = $row['date'];
            $fixed_goal_date = fixDate($goal_date);
            $html = "";
            $html .= '<div class="goal-box" id="comment-'.$row['id'].'">';
            $html .= '<div class="goal-box-left">';
            $html .= '<div class="goal-post-status">'.$status_img. '</div>';

jQuery的:

 $('.goal-post-status').click(function (event) {
     var status = $(this).val;
     alert(status);
 });

3 个答案:

答案 0 :(得分:1)

您可以在data-attribute中设置状态,然后从jQuery中读取它:

HTML

$html .= '<div class="goal-box" id="comment-'.$row['id'].'">';
$html .= '<div class="goal-box-left">';
$html .= '<div class="goal-post-status" data-status="'.$status.'">'.$status_img. '</div>';

的Javascript

$("body").on("click", ".goal-post-status", function (event) {
    var status = $(this).attr("data-status");
    alert(status);
});

答案 1 :(得分:0)

您可以使用: 使用$(this).html()代替$(this).val()

 $('body').on('click','.goal-post-status',function (event) {
     var status = $(this).html();
     alert(status);
 });

答案 2 :(得分:0)

试试这个:

$(".goal-post-status").click(this, function() {
    var status = $(this).html();
    alert(status);
});