I am trying the following code, but still I didn't get any success.

var myAjax = new Ajax.Request(
    url,
    {
        method: 'post',
        onException: function (xhr, e)
        {
            alert('Exception : ' + e);
        },
        onComplete: function (xhr)
        {
            var myHtml = xhr.responseText;

            // alert(myHtml);

            var myContent = $(myHtml).select("div#product-options-wrapper");

            alert(myContent);
        }
 });

Please help. Thanks in Advance.

有帮助吗?

解决方案

because the HTML is a string - like others have mentioned try adding it to a container div and then getting the elements you want out of it. FYI the select() will return an array of elements that match the selector so if you only want the specific <div> use the down() method which will return the first one.

var myAjax = new Ajax.Request(
    url,
    {
        method: 'post',
        onException: function (xhr, e)
        {
            alert('Exception : ' + e);
        },
        onComplete: function (xhr)
        {
            var myHtml = xhr.responseText;

            // alert(myHtml);

            var myContent = new Element('div').update(myHtml);

            myContent = myContent.down("div#product-options-wrapper");

            alert(myContent);
        }
 });

其他提示

myHtml is still a string object ... I guess you should add it to the DOM then you can select whatever

var myAjax = new Ajax.Request(
url,
{
    method: 'post',
    onException: function (xhr, e)
    {
        alert('Exception : ' + e);
    },
    onComplete: function (xhr)
    {
        var myHtml = xhr.responseText;

        // alert(myHtml);

        /***** append your html to any container in the document ***/

        var myContent = $(myHtml).select("div#product-options-wrapper");

        alert(myContent);
    }

});

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top