我有一個JavaScript的視圖,使ajax調用我的控制器。我正在循環訪問數據,並且正在建立一個表格。 我需要做的是爲表中的每個項目,使其成爲超鏈接,然後當用戶點擊任何鏈接時,我想用鏈接的值填充文本框。jquery:用超鏈接的值填充文本框
到目前爲止,我的代碼循環瀏覽json數據並構建我的表格。這裏的代碼片段:
htmlstring = htmlstring + "<th>VlanId</th><th>Name</th>";
for(i = 0; i < returnDataFromController.length; i++) {
//alert(returnDataFromController[i].VlanId);
htmlstring = htmlstring + "<tr><td><a href=''>"+returnDataFromController[i].VlanId+"</a></td><td>"+ returnDataFromController[i].Name+"</td></tr>";
}
submitFormHTML = "<input type='text' id='newVlanID' style='width:5em;height:1.5em'/> <button class='btn' id='saveVlan' style='width:10em;height:2em'>Reassign Vlan</button>";
$('#clientajaxcontainer').html(htmlstring);
$('#newvlanform').html(submitFormHTML);
爲了完成我想做的事情,我需要給每個標籤的唯一名稱或可我只是把它分配給一個班?如果我可以爲每個標籤分配一個特定的類,比如classX ...,然後爲classX類型的標籤的點擊事件編寫一個jQuery處理程序,那就太好了。 這可能嗎?感謝您花時間閱讀這篇文章。
編輯:
我使用jQuery 1.8版。除了上面的代碼中,我已經添加了一些JavaScript來嘗試基於一個click事件自動填充文本框:
$('clientajaxcontainer').on("click", "td:first-child a", function(ev) {
ev.preventDefault();
$('#newVlanID').val($(this).text());
});
如果我理解正確的話,ev.preventDefault()應該重定向我駐足瀏覽器到另一個頁面。但這似乎並沒有奏效。當我點擊任何超鏈接時,它會重新加載當前頁面。
',當用戶點擊任何鏈接時,我想用鏈接的值填充文本框。' - 你能再解釋一下嗎?您正在從ajax調用中加載表格,並且您希望將每個表格單元格的內容作爲鏈接。然後當用戶點擊鏈接時,它會將數據加載到單獨的文本框中。點擊數據來自哪裏? – AndrewR
@AndrewR。看看下面Andreas的例子。這正是我想要做的。我無法讓我的工作......但我認爲這將澄清我後。 – dot