Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用jquery检索chid div的ID?_Php_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Php 使用jquery检索chid div的ID?

Php 使用jquery检索chid div的ID?,php,javascript,jquery,jquery-selectors,Php,Javascript,Jquery,Jquery Selectors,请看一下下面的代码 <div id="click_me">Save</div> <div id="blocks_sortable"> <div id="block_1"> <h2>Block 1</h2> <div class="items_sortable connectedSortable"> <di

请看一下下面的代码

                <div id="click_me">Save</div> 


<div id="blocks_sortable">
    <div id="block_1">
        <h2>Block 1</h2>

        <div class="items_sortable connectedSortable">
            <div id="item_1"> 
                <span>Item 1</span></div>   
            <div id="item_2"> 
                <span>Item 2</span></div>
            <div id="item_3"> 
                <span>Item 3</span></div>
        </div>
    </div>  
    <div id="block_2">
        <h2>Block 2</h2>

        <div class="items_sortable connectedSortable">
            <div id="item_4"> 
                <span>Item 4</span></div>   
            <div id="item_5"> 
                <span>Item 5</span></div>
            <div id="item_6"> 
                <span>Item 6</span></div>
        </div>
    </div>
</div>

<script>
    $("#click_me").click(function() {
            var result = $("#blocks_sortable > div");

            for(var i=0; i<result.length; i++){
                var str = ""; 
                var str2 = "";
                var block = result[i]; //div object

                //retrieve block id and create the string with id
                str += "block="+$(block).attr("id")+"&items=";

                //trying to select all the items of the current Block
                var result2 = $(block+" > div");                        
                    for(var j=0; j<result2.length; j++){
                        var item = result2[j];

                        str2 += $(item).attr("id")+",";
                    } //end for items

                str = str+str2;
                // looking for a final string in the format of .. block=block_1&items=item_1,item_2,item_3 for loop 1
                alert(str);
            }
    });
</script>
保存
第一区
项目1
项目2
项目3
第2区
项目4
项目5
项目6
$(“#单击我”)。单击(函数(){
var结果=$(“#块#可排序>div”);
因为(var i=0;i函数是你的朋友

$.map( 
    $("#blocks_sortable > div"),
    function(elementOfArray){
        var block = $(elementOfArray);
        var children = $.map(
            $("div[id]", block),
            function( eoa ){
                return eoa.id;
            }).join(",");

        return elementOfArray.id + "=" + children;
    }
).join(",");
将返回
“block_1=item_1,item_2,item_3,block_2=item_4,item_5,item_6”
,这将使您更接近您要去的地方(我认为)

编辑:在此处。

尝试不使用“>”


我认为您在调用
str+=“block=“++$(block).attr(“id”)+”&items=“;

.attr不起作用,因为block是dom元素而不是jquery对象。var item也有同样的问题

工作解决方案是。演示是

这个javascript修复了它:

   $("#click_me").click(function() {
            var result = $("#blocks_sortable > div");

            for(var i=0; i<result.length; i++){
                var str = "";
                var str2 = "";
                var block = result[i]; //div object

                //retrieve block id and create the string with id
                str += "block="+ block.id +"&items=";

                //trying to select all the items of the current Block
                var result2 = $("#" + block.id + "> div > div");
                    for(var j=0; j<result2.length; j++){
                        var item = result2[j];

                        str2 += item.id +",";
                    } //end for items

                str = str+str2;
                // looking for a final string in the format of .. block=block_1&items=item_1,item_2,item_3 for loop 1
                alert(str);
            }
    });
$(“#单击我”)。单击(函数(){
var结果=$(“#块#可排序>div”);
对于(var i=0;i
$(“#单击我”)。单击(函数(){
var结果=$(“#块#可排序>div”);

对于(var i=0;iDid是否检查firebug是否存在任何javascript错误?嗯..在调用方法[nsIDOMEventListener::handleEvent]“nsresult:”0x8057001e(NS_error\u XPC\u JS_thrown\u STRING)“位置”时出现此语法错误,无法识别的表达式:[object htmldevelment]。”"数据:否]…查看我下面关于这个问题的答案。这也会选择给他一个没有ID的元素的div。为工作解决方案添加链接,非常好。我会公然复制你,先生!@Jon+1..你很好..它很有效..但我接受了@ROMANARMY solution,因为它更容易实现我想用的方法。@R0MANARMY,而不是谢谢你也添加了你的解决方案,如果你能做一个演示就太好了。我确实学到了一些新东西!@user187580,我很高兴你找到了你的解决方案!这就是我们来这里的目的,我也要给他的解决方案加上R0MANARMY+1,我同意它更好,而且非常酷:)太好了……我喜欢你的解决方案。谢谢。
   $("#click_me").click(function() {
            var result = $("#blocks_sortable > div");

            for(var i=0; i<result.length; i++){
                var str = "";
                var str2 = "";
                var block = result[i]; //div object

                //retrieve block id and create the string with id
                str += "block="+ block.id +"&items=";

                //trying to select all the items of the current Block
                var result2 = $("#" + block.id + "> div > div");
                    for(var j=0; j<result2.length; j++){
                        var item = result2[j];

                        str2 += item.id +",";
                    } //end for items

                str = str+str2;
                // looking for a final string in the format of .. block=block_1&items=item_1,item_2,item_3 for loop 1
                alert(str);
            }
    });
    $("#click_me").click(function() {
        var result = $("#blocks_sortable > div"); 

        for(var i=0; i<result.length; i++){
            var str = ""; 
            var str2 = "";
            var block = result[i].id; //div object

            //retrieve block id and create the string with id
            //str += "block="+$(block).attr("id")+"&items=";
            str += "block="+ block + "&";
            //trying to select all the items of the current Block
            var inner_span = "#" + block + " > div";
            var result2 = $(inner_span).children();

                for(var j=0; j<result2.length; j++){
                    var item = result2[j];

                    str2 += $(item).attr("id")+",";
                } //end for items

            str = str+str2;
            // looking for a final string in the format of .. block=block_1&items=item_1,item_2,item_3 for loop 1
            alert(str); // output block=block_1&item_1,item_2,item_3 
                        //        block=block_2&item_4,item_5,item_6

        }