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 属性的表单元素。