jquery 来自点击对象的值
jquery value from clicked object
你好,我有几个按钮是用 Jquery 生成的。
现在我只会从单击的按钮中获取值。
但是我怎么才能得到价值我总是得到一个空白的按摩。
下面你可以看到相关的代码。
希望有人能帮助我。
$(document).ready(function(){
var count=1;
var nr=0;
var pfad=[];
$.ajax({
method:"post",
url:"phpcode.php",
data:{func:"bilder"},
success:function(data){
var arr=[];
images=data.split(";");
länge=images.length;
for(i=0;i<länge;i++){
arr[i]=data.split(";")[i];
}
arr.pop();
generate(arr);
}
});
function generate(arr){
länge=arr.length;
for(i=0;i<länge;i++){
if(i<1){
$("main").append("<div value="+count+" class='pfade'><a>bild"+count+":</a><input name='bild' value="+arr[i]+" placeholder='pfad' type='text'/><button class='button' data-count="+count+" type='button'>X</button></div> ");
count=count+1;
}
else{
$("main").append("<div value="+count+" class='pfade'><a>bild"+count+":</a><input name='bild' value="+arr[i]+" placeholder='pfad' type='text'/><button class='button' data-count="+count+" type='button'>X</button></div> ");
count=count+1;
}
}
}
$("#del").click(function(){
val=count-1;
$("div[value="+val+"]").remove();
count=count-1;
});
$(document).on("click",".button",function(){
val=$(this).attr("data-count");
alert(val);
});
$("#more").click(function(){
$("main").append("<div value="+count+" class='pfade'><a>bild"+count+":</a><input name='bild' value='' placeholder='pfad' type='text'/><button class='button' data-count="+count+" type='button'>X</button></div> ");
count=count+1;
});
$("#sub").click(function(){
var pfad=[];
$("input[name='bild']").each(function(){
if($(this).val()!= ""){
pfad.push($(this).val());
}
});
alert(pfad);
$.ajax({
url: "phpcode.php",
method: "POST",
data:{func:"addimg"},
success:function(data){
}
});
});
});
这里是一张图片,这里是一张图片,显示按钮实际上有一个值:
button with value
除了按钮没有值属性之外,您的代码没有任何问题。
要将按钮显示的文本作为值,您必须使用:
val=$(this).text();
而不是:
val=$(this).val();
如果您需要通过按钮传递一些其他值,您必须使用 data-* 属性。
因此,请将按钮中的 value=
更改为 data-count=
<button class='button' data-count="+count+" type='button'>X</button>
然后检索值:
val=$(this).attr('data-count');
您的代码适用于支持 value 属性的表单元素。
你好,我有几个按钮是用 Jquery 生成的。 现在我只会从单击的按钮中获取值。
但是我怎么才能得到价值我总是得到一个空白的按摩。 下面你可以看到相关的代码。
希望有人能帮助我。
$(document).ready(function(){
var count=1;
var nr=0;
var pfad=[];
$.ajax({
method:"post",
url:"phpcode.php",
data:{func:"bilder"},
success:function(data){
var arr=[];
images=data.split(";");
länge=images.length;
for(i=0;i<länge;i++){
arr[i]=data.split(";")[i];
}
arr.pop();
generate(arr);
}
});
function generate(arr){
länge=arr.length;
for(i=0;i<länge;i++){
if(i<1){
$("main").append("<div value="+count+" class='pfade'><a>bild"+count+":</a><input name='bild' value="+arr[i]+" placeholder='pfad' type='text'/><button class='button' data-count="+count+" type='button'>X</button></div> ");
count=count+1;
}
else{
$("main").append("<div value="+count+" class='pfade'><a>bild"+count+":</a><input name='bild' value="+arr[i]+" placeholder='pfad' type='text'/><button class='button' data-count="+count+" type='button'>X</button></div> ");
count=count+1;
}
}
}
$("#del").click(function(){
val=count-1;
$("div[value="+val+"]").remove();
count=count-1;
});
$(document).on("click",".button",function(){
val=$(this).attr("data-count");
alert(val);
});
$("#more").click(function(){
$("main").append("<div value="+count+" class='pfade'><a>bild"+count+":</a><input name='bild' value='' placeholder='pfad' type='text'/><button class='button' data-count="+count+" type='button'>X</button></div> ");
count=count+1;
});
$("#sub").click(function(){
var pfad=[];
$("input[name='bild']").each(function(){
if($(this).val()!= ""){
pfad.push($(this).val());
}
});
alert(pfad);
$.ajax({
url: "phpcode.php",
method: "POST",
data:{func:"addimg"},
success:function(data){
}
});
});
});
这里是一张图片,这里是一张图片,显示按钮实际上有一个值: button with value
除了按钮没有值属性之外,您的代码没有任何问题。 要将按钮显示的文本作为值,您必须使用:
val=$(this).text();
而不是:
val=$(this).val();
如果您需要通过按钮传递一些其他值,您必须使用 data-* 属性。
因此,请将按钮中的 value=
更改为 data-count=
<button class='button' data-count="+count+" type='button'>X</button>
然后检索值:
val=$(this).attr('data-count');
您的代码适用于支持 value 属性的表单元素。