2013-04-20 98 views
0

我想通過單擊鏈接填寫輸入字段。這個鏈接的href應該決定在這個輸入字段中填充什麼。通過點擊鏈接填寫輸入字段 - 不工作

$(".search_item").click(function(){ 
    var selectedChamp=$(this).attr('href').split('=')[1]; 
    $('.textfield').val(selectedChamp); 
     return false; 
}); 

我用下面的jsfiddle:http://jsfiddle.net/charlietfl/5u3BZ/ 但我就是不能讓它爲自己工作。

使用JSRender生成鏈接。

本頁內容:http://lorebook.net/lore/你可以看到我想要達到的目標。 在頂部的欄中填寫一些東西(只需輸入字母「A」就會顯示一些結果),那裏的鏈接應該在輸入字段中輸入一些內容。

奇怪的是,在這個頁面的底部有幾個實際上工作的鏈接。他們使用完全相同的代碼,但出於某種原因,他們工作,而其他鏈接不。

幫助將不勝感激。

+2

做鏈接是什麼樣子?他們有他們的'='嗎?如果我不得不猜測,我會說工作的鏈接有一個'='。 – Intelekshual 2013-04-20 15:41:47

回答

1

我認爲這應該工作:

pr = ""; 
setInterval(function(){ 
    if(document.location.hash != pr){ 

    $('.textfield').val(document.location.hash.split('=')[1]); 

    // Do what you want 

    pr = document.location.hash; 
    } 
}, 50); 
+0

的確很有用,非常感謝! – 2013-04-20 17:18:57

+0

+1爲了良好的解決方法...每50毫秒重複調用腳本。但我認爲在jutocomplete生成元素後只調用它會更優雅一些。 – 2013-04-20 18:01:14

1

您應該使用.preventDefault(); ,以便點擊觸發替代事件。

$(".search_item").click(function(e){ 
    e.preventDefault(); 
    var selectedChamp=$(this).attr('href').split('=')[1]; 
    $('.textfield').val(selectedChamp); 
}); 

我在你的頁面上測試過它,它對我適用這個小改動適用。

編輯︰我把這回...因爲問題不是腳本本身......並且它已經做了正確的事情,如果我把它放到控制檯......這意味着在那個時候腳本被啓動,它不會找到它需要的DOM元素。

  • 如果我搜索之前啓動腳本...這是行不通的...
  • 如果我搜索,然後將腳本粘貼到控制檯...它找到.search_item元素和按預期工作。

所以我不知道您的文本框上面的腳本當前所在......但你應該把它僅在搜索結果的要素已經被加載,並可在DOM中找到。

+0

不起作用。此外,不返回虛假的本質上是一樣的? – 2013-04-20 16:04:14

+0

嗯......你說得對,但是它適用於我......當我將腳本運行到控制檯時,這個問題顯然只有當你觸發執行javascript $(「。search_item」)以某種方式找不到DOM元素時...你何時將腳本應用於文檔加載?也許您可以在搜索結果中添加一個

  • 11. 計算輸入字段後添加一行時點擊鏈接
  • 12. 從輸入鏈接預填充輸入字段
  • 13. 我可以通過點擊輸入字段來獲取時間點擊器嗎?
  • 14. 使用鏈接點擊清除輸入字段Javascript
  • 15. 如何通過點擊通過Jquery的鏈接來添加輸入?
  • 16. JavaScript填寫字段不工作
  • 17. 通過點擊鏈接改變布爾型字段
  • 18. datagridview的鏈接cellcontent點擊不工作
  • 19. 不可點擊的輸入字段
  • 20. 填寫輸入文件字段onload
  • 21. jQuery的點擊通過類工作不
  • 22. 輸入字段,通過DOM
  • 23. 在變量輸入字段填寫值
  • 24. 通過點擊超鏈接打開文件不起作用
  • 25. 查詢清除輸入字段點擊
  • 26. xsl通過點擊鏈接排序div
  • 27. tabs.onUpdated(tab) - 點擊鏈接或輸入URL?
  • 28. iMacros的鍵入鏈接點擊不工作
  • 29. 通過點擊鏈接獲取網址
  • 30. 設置輸入字段輸出鏈接