2014-06-13 47 views
0
$(function() { 
var availableData = [{ 
    "Name": "bob barker", 
    "image": "./images/bbarker.png" 
    "id":"bob" 
}, { 
    "Name": "Jill bill", 
    "image": "./images/jBill.png" 
    "id":"jill" 
}, { 
    "Name": "John Doe", 
    "image": "./images/jdoe.png" 
    "id":"john" 
}] 

$('#personsearch').autocomplete({ 
    source: function (request, response) { 
     var re = $.ui.autocomplete.escapeRegex(request.term); 
     var matcher = new RegExp("^" + re, "i"); 
     response($.grep(($.map(availableData, function (v, i) { 

      return { 
       label: v.Name, 
       value: v.Name 
      }; 
     })), function (item) { 
      return matcher.test(item.value); 
     })) 

    } 
}); 
}); 

<input type="text" id="personsearch" value="?????" /> 
    <input type ="submit"/> 

我試圖讓ID輸入字段提交目的是指關聯ID來與名稱和id的值是填寫價值=「?????」如何做到這一點請幫助試圖從JSON獲取相關的名稱值的ID

+0

ü要填寫的多個文本框用的foreach JSON數據? –

+0

不,我只想要一個文本框,但這些值是根據文本框中的填充名稱關聯的 – user3719363

回答

0

您可以使用選擇自動完成事件來填充名稱屬性後選擇一個值。

$('#personsearch').autocomplete({ 
    source: function (request, response) { 
     var re = $.ui.autocomplete.escapeRegex(request.term); 
     var matcher = new RegExp("^" + re, "i"); 
     response($.grep(($.map(availableData, function (v, i) { 

      return { 

       label: v.id, 
       value: v.Name 

      }; 
      $("#personsearch").attr("name", value) 
     })), function (item) { 

      return matcher.test(item.value); 
     })) 

    }, 
    select: function (event, ui) { 
     $('#personsearch').attr("name", $(this).val()); 
    } 
}); 

Demo

+1

感謝您的回答 – user3719363