Javascript 使用onclick将变量传递给ajax
我有一个变量的问题,我想通过ajax传递给php 在一个php文件中,我生成了一些带有id和name属性的div livesrc.phpJavascript 使用onclick将变量传递给ajax,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我有一个变量的问题,我想通过ajax传递给php 在一个php文件中,我生成了一些带有id和name属性的div livesrc.php echo "<div class=\"search-results\" id=\"" . $softwareArray['Sw_idn'] . "\" name=\"" . $softwareArray['SoftwareName'] . "\" onclick=\"addBasket(this.id, this.name)\" > " . u
echo "<div class=\"search-results\" id=\"" . $softwareArray['Sw_idn'] . "\"
name=\"" . $softwareArray['SoftwareName'] . "\"
onclick=\"addBasket(this.id, this.name)\" >
" . utf8_encode($softwareArray['SoftwareName']) . "</div>";
很抱歉,在html中,div看起来像:
<div class="search-results" id="235"
name="Adobe Acrobat Writer 9.0 Professional"
onclick="addBasket(this.id, this.name)">...</div>
。。。
这看起来不错,但是在js“addBasket”中,变量sw_name没有设置。(未定义)
标题部分中的JS:
<script type="text/javascript">
function addBasket(sw_id, sw_name)
{
alert(sw_name);
$.post("assets/basket.php",{sw_id: sw_id, sw_name: sw_name}, function(data)
{
$("#basket").html(data);
});
}
</script>
功能添加篮(软件标识、软件名称)
{
警报(sw_名称);
$.post(“assets/basket.php”,{sw_id:sw_id,sw_name:sw_name},函数(数据)
{
$(“#篮子”).html(数据);
});
}
设置了sw_id,但sw_名称不起作用。带有“this.name”的html调用是否正确?这是因为
this.name
不存在,如果您要访问属性,则必须调用this.getAttribute('name')
id是特定的,可以直接访问
我个人会给juste这个函数,并在函数中提取id和name
onclick="addBasket(this)";
<script type="text/javascript">
function addBasket(el)
{
var
sw_id = el.id,
sw_name = $(el).attr('name');
alert(sw_name);
$.post("assets/basket.php",{sw_id: sw_id, sw_name: sw_name}, function(data)
{
$("#basket").html(data);
});
}
</script>
onclick=“addBasket(this)”;
功能添加篮(el)
{
变量
sw_id=标高id,
sw_name=$(el).attr('name');
警报(sw_名称);
$.post(“assets/basket.php”,{sw_id:sw_id,sw_name:sw_name},函数(数据)
{
$(“#篮子”).html(数据);
});
}
这是因为如果要访问属性,必须调用此属性,则此.name
不存在。getAttribute('name')
id是特定的,可以直接访问
我个人会给juste这个函数,并在函数中提取id和name
onclick="addBasket(this)";
<script type="text/javascript">
function addBasket(el)
{
var
sw_id = el.id,
sw_name = $(el).attr('name');
alert(sw_name);
$.post("assets/basket.php",{sw_id: sw_id, sw_name: sw_name}, function(data)
{
$("#basket").html(data);
});
}
</script>
onclick=“addBasket(this)”;
功能添加篮(el)
{
变量
sw_id=标高id,
sw_name=$(el).attr('name');
警报(sw_名称);
$.post(“assets/basket.php”,{sw_id:sw_id,sw_name:sw_name},函数(数据)
{
$(“#篮子”).html(数据);
});
}
您可以将整个元素传递到js中:
<div class="search-results" id="235"
name="Adobe Acrobat Writer 9.0 Professional"
onclick="addBasket(this)">...</div>
您可以将整个元素传递到js中:
<div class="search-results" id="235"
name="Adobe Acrobat Writer 9.0 Professional"
onclick="addBasket(this)">...</div>
试试$(this).attr(“name”)
你能试试$(this.attr('name')
吗?(如果您使用jQuery?请尝试$(this).attr(“name”)
您可以尝试$(this).attr('name')
?(如果您使用jQuery?这一术语中的“el”sw_id=el.id,sw_name=$(el).attr('name');这一术语中的“el”sw_id=el.id,sw_name=$(el).attr('name'))是什么意思;