我使用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;功能,但他们没有工作。
答案 0 :(得分:0)
$parent = $(this).parent();
选择按钮周围的<div align="center">
。请改用$parent = $(this).closest('.product');
。
虽然我建议实际绑定到表单的submit
事件而不是按钮的click
。