【发布时间】:2021-02-27 02:58:27
【问题描述】:
我有一个这样的例子...从这里 (http://jsfiddle.net/tpgun6Lz/5/) 我有使用 ul li 的下拉菜单(带图像)(在我的例子中会有几个不同的菜单)。
这是一个代码 - 我可以将 id 添加到 <ul>(但你会看到 jquery 使用不使用 id 的类),并将数据值添加到 <li> 以解决问题:
<ul class="prod-gram" id="menu">
<li class="init" data-value="1"><img src="http://smartangielski.j.pl/img/hej.png" /> Country 1</li>
<li data-value="2"><img src="http://smartangielski.j.pl/img/hej.png" /> Country 1</li>
<li data-value="3"><img src="http://smartangielski.j.pl/img/hej.png" /> Country 2</li>
</ul>
<ul class="prod-gram" id="menu2">
<li class="init" data-value="1"><img src="http://smartangielski.j.pl/img/hej.png" /> Country 1</li>
<li data-value="2"><img src="http://smartangielski.j.pl/img/hej.png" /> Country 1</li>
<li data-value="3"><img src="http://smartangielski.j.pl/img/hej.png" /> Country 2</li>
</ul>
和javascript:
<script>
$(document).ready(function() {
$(document).on("click", "ul.prod-gram .init", function() {
$(this).parent().find('li:not(.init)').toggle();
});
var allOptions = $("ul.prod-gram").children('li:not(.init)');
$("ul.prod-gram").on("click", "li:not(.init)", function() {
allOptions.removeClass('selected');
$(this).addClass('selected');
$(this).parent().children('.init').html($(this).html()); // this line colide with ajax
$(this).parent().find('li:not(.init)').toggle();
});
});
</script>
我想使用jQuery 和ajax 在PHP 中保存值ul(id) 和值li(数据值)。我准备了一些代码,但我不知道如何设置它们(我不确定变量设置和 ajax):
<script>
$('#menu').click(function(){
var liValue = $(this).closest('li').attr('data-value');
var ulId = $(this).closest('ul').attr('id');
jQuery.ajax({
type: "POST",
url: 'humourvalue.php',
data:{ul: ulId, li: liValue},
success: function(data) {
$("#menu").html(data); // i tried to change datatype but then i cant send them to php
}
});
});
</script>
和文件 humourvalue.php
<?php
require_once 'includes/config.php';
if(isset($_SESSION['user_id'])) {
if ($userID === null) {
$userID = $_SESSION['user_id'];
}
$userID = intval($userID);
$ulId = $db->$_POST['ul'])));
$liValue = $db->$_POST['li'])));
$result = $db->query("UPDATE `users` SELECT `opts`='".($ulId)."' WHERE id=".($userID));
}
?>
我不确定这个主题是否有助于从数据库中获取数据:how to get data to html <ul> <li> </li> </ul> list from mysql database with php
我需要首先关注如何在数据库中保存变量。请帮帮我,这让我很抓狂。
------------------更新------------ 现在我明白了 - javascript 代码与 ajax 调用相冲突,因为我们有
$(this).parent().children('.init').html($(this).html());
在 javascript 和 ajax 中我们有
success: function(data) {
$("#menu").html(data);
谁能知道如何解决它?
【问题讨论】:
-
我需要首先关注如何将变量保存在数据库中。 你这样做!为此,网上有一本 MySQL 用户手册和数以千计的教程,可以帮助您将 UDPATES 与 SELECTS 分开。 SO 不是教程网站
-
您的
UPDATE不正确,并且对 SQL 注入开放。尚不清楚 JS 是否能做到这一点,或者问题出在 JS 上。 -
您好,您需要获取被点击的
li的值吗?还是全部 lis ? -
斯瓦蒂,如果这是问题 - 是的,我需要获取被点击的 li 的值,所有的 lis
标签: javascript php html jquery ajax