无法从数据库中选择PHP加载的元素值

时间:2017-08-14 14:35:59

标签: javascript php jquery html

我使用PHP从数据库中获取数据。我无法选择元素的值。虽然数据是在DOM中加载的。如果我只是写HTML标记,那么我可以选择其他

<?php
$results = $mysqli->query("SELECT product_code, product_name, product_desc, product_img_name, price FROM products ORDER BY id ASC");
if($results){ 
$products_item = '<ul class="products">';
//fetch results set as object and output HTML
while($obj = $results->fetch_object())
{
$products_item .= <<<EOT
    <li class="product">
    <form method="post" onsubmit="return false">
    <div class="product-content"><h3>{$obj->product_name}</h3>
    <div class="product-thumb"><img src="images/{$obj->product_img_name}"></div>
    <div class="product-desc">{$obj->product_desc}</div>
    <div class="product-info">
    Price {$currency}{$obj->price} 

    <fieldset>

    <label>
        <span>Color</span>
        <select name="product_color" class='product_color'>
        <option value="Black">Black</option>
        <option value="Silver">Silver</option>
        </select>
    </label>

    <label>
        <span>Quantity</span>
        <input type="text" size="2" maxlength="2" name="product_qty" class='product_qty' id='product_qty' value="1" />
    </label>

    </fieldset>
    <input type="hidden" name="product_code" value="{$obj->product_code}" />
    <input type="hidden" name="type" value="add" />
    <input type="hidden" name="return_url" value="{$current_url}" />
    <div align="center"><button class="add_to_cart" id='add_to_cart' type='submit'>Add</button></div>
    </div></div>
    </form>
    </li>
EOT;
}
$products_item .= '</ul>';
echo $products_item;
}
?> 

这里是我正在使用的javascript。

window.onload = function () {
   $('.add_to_cart').click(function(){

       $parent = $(this).parent();
    $qty = $parent.children('.product-desc').text();
    alert($qty);
   })
};

以上代码有效,如果我只使用HTML标记而不是使用上面使用PHP生成的HTML。

提前致谢。为此搜索了很多,但没有找到任何相关的东西。虽然我也试过Javascripts&#39; .on&#39;和&#39; .live&#39;功能,但他们没有工作。

1 个答案:

答案 0 :(得分:0)

$parent = $(this).parent();选择按钮周围的<div align="center">。请改用$parent = $(this).closest('.product');

虽然我建议实际绑定到表单的submit事件而不是按钮的click