0

私のJavaScriptは好きではないようですvar divTag = '#' + ratinglistid + " > select[name=SelectedValue] > option:selected";

検索中の答えが見つかりませんでした。フォーマットがめちゃくちゃになってすみません、それを消すことができませんでした。

 Script:

<script>
    function doSubmit(form, myRating, ratinglistid){
        var divTag = '#' + ratinglistid + " > select[name=SelectedValue] > option:selected";
        var ratingValue = $(divTag);
        $.ajax({
            type: "GET",
            url: "/RatingLists/Done",
            data: ({
                myrating: ratingValue,
                myRatingListId: ratinglistid
            }),
            contentType: "application/json; charset=utf-8",
            dataType: "json"
        });
    }
</script>

HTML私はから値を取得したい:

    <div id='2'>
    <input type="hidden" name="RatingListId" value="2"/>
    <select id="SelectedValue" name="SelectedValue" onchange="doSubmit($(this).parents(&#39;form&#39;),2);"><option value="1">Inget intresse, tas bort</option>
    <option value="2">Svagt intresse, sparas</option>
    <option selected="selected" value="3">Intresserad-ingen kontakt &#228;n</option>
    <option value="4">4-Intreserad-vill ha kontakt</option>
    <option value="5">5-Vill byta!</option>
    <option value="100">6-Avvaktar v&#228;rdar</option>
    </select>
    </div
4

2 に答える 2

0

Illegal invocationエラーの原因となるajax関数でシリアル化するjQueryオブジェクトを渡そうとしている場合は、を使用し.val()てフォーム要素の値を取得します。

data: ({
    myrating: ratingValue.val(),
    myRatingListId: ratinglistid
}),
于 2012-11-25T20:29:08.623 に答える
0

get call内で評価できなかったので、次のようにする必要がありました。

var divTag = '#' + ratinglistid + " > select[name=SelectedValue] > option:selected";
var ratingValue = $(divTag).val();
    $.ajax({
                type: "GET",
                url: "/RatingLists/Done",
                data: ({
                    myrating: ratingValue,
                    RatingListId: ratinglistid
                }),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess(ratinglistid),
                error: function () {
                    var id = ratinglistid;
                    $('#' + id + "tbody td").hover(function () {
                        $(this).parents('tr').addClass('highlight');
                    }, function () {
                        $(this).parents('tr').removeClass('highlight');
                    });
                }
            });
于 2012-11-28T16:58:58.570 に答える