2013-03-19 54 views
0

我有這個腳本抓取輸入字段的值,然後將其插入鏈接的屬性(href)。出於某種原因,該值被列爲未定義。未定義的jQuery變量在多個獨立的div

這裏是jQuery的

$(".page_link").click(function() { 
       var page_id = $(this).find(".page_id_value").val(); 
       $(location).attr('href',"page_detail.php?page="+page_id); 

      }); 

下面是HTML

<a class="page_link" onClick="window.location.href='page_detail.php?page=164';"> 
    <!--<input type="hidden" class="page_id_value" value="145" />--> 
</a> 

<a class="page_link" onClick="window.location.href='page_detail.php?page=165';"> 
    <!--<input type="hidden" class="page_id_value" value="146" />--> 
</a> 

<a class="page_link" onClick="window.location.href='page_detail.php?page=166';"> 
    <!--<input type="hidden" class="page_id_value" value="147" />--> 
</a> 

編輯:實現我的目標,最好的辦法是使用,而不是使用jQuery改變window.location.href頁。我正在使用輸入字段獲取頁眉變量中的值。更好的方法是使用window.location.href。謝謝您的幫助!上面的HTML被糾正了,jQuery是不正確的方法。此網頁正在jQuery Mobile中運行。

+3

'$(location)'是指什麼? – hjpotter92 2013-03-19 00:41:35

+0

它與href =「某個網頁」或標題(「位置:某個網頁」)相同;它的jQuery版本 – 2013-03-19 00:43:33

+0

嘗試使用'.prop('value')'而不是'.val()' – 2013-03-19 00:44:06

回答

1

與您當前密碼的問題是,.attr()用於從HTML元素得到屬性 ..它沒有得到或JavaScript對象,這是什麼location是.. JavaScript對象改變屬性。你想用它來改變那個屬性,是.prop()

Fixed example

+0

您也可以使用位置。它會有相同的結果。在jfiddle中嘗試它。但是,問題似乎與page_id值有關。當我到達下一頁時,標題顯示「page_detail.php?page_id = undefined」 – 2013-03-19 00:49:54

+0

@ Die20我誤解了你的問題,請參閱我的解釋和示例。 – Daedalus 2013-03-19 00:56:36

+0

它仍然給我同樣的問題。你會推薦我使用window.location.href而不是在html中? – 2013-03-19 00:59:55