0

基本的に、 Ajaxリクエストに基づいてデータを返す Ajax 呼び出しがあります。

var thisId = jQuery(this).data("id");
jQuery.ajax({
    type: "GET",
    url: pluginURL + "/****/templates/files/ajax_controller.php",
    data: "ajaxAction=AddId&id=" + thisId,
    success: function(data) {
        if(data === "success") {            
            var OldId = jQuery("input").find("[data-id='" + thisId + "']");
            if(OldId) {
                alert("Valid OldId!");
                OldId.val("Added!");
                OldId.attr('disabled', 'disabled');
            }
    }
});

何が起こっているかというalert()と が実行されているということですval()attr

4

2 に答える 2

0

.val実行し.attrますが、何もする必要はありません。

jQuery("input").find("[data-id='" + thisId + "']")

これは何も返しません。jQuery オブジェクトは空になります。

if (OldId)

jQuery オブジェクトは、空であっても true として評価されます。空であることを確認する 1 つの方法は、 ですOldId.length === 0。したがって、jQuery オブジェクトが一致したかどうかを確認したい場合は、 を使用しますjq.length > 0

于 2013-07-15T11:35:43.540 に答える