這可能是最簡單的解釋,如果你只看我的fiddle,我已經評論清楚。基本上,我使用的是Harvest的chosen插件,我只是試圖讓我在它旁邊放置的「去」按鈕成爲所選選項的data-url
屬性的鏈接。我大量使用控制檯來嘗試調試,但我無法使其工作。jQuery +選擇插件:添加網址到選定的選項
我只希望發生這種情況:當您從所選菜單中選擇一個選項時,go按鈕的href
將成爲該選擇的鏈接。看看小提琴,一切都會變得清晰。
這可能是最簡單的解釋,如果你只看我的fiddle,我已經評論清楚。基本上,我使用的是Harvest的chosen插件,我只是試圖讓我在它旁邊放置的「去」按鈕成爲所選選項的data-url
屬性的鏈接。我大量使用控制檯來嘗試調試,但我無法使其工作。jQuery +選擇插件:添加網址到選定的選項
我只希望發生這種情況:當您從所選菜單中選擇一個選項時,go按鈕的href
將成爲該選擇的鏈接。看看小提琴,一切都會變得清晰。
您的網址選擇更改爲
url = $('#cancer-select option:eq(' + selectedIndex + ')').attr('data-url');
和取出空<option>
標籤周圍您選擇選項似乎解決它。從OP
編輯:
您還需要你的函數改爲
$('#button-go').attr('href', '' + url);
我在這裏進行了這些更改:http://jsfiddle.net/nickcoxdotme/3cdPp/5 /。但它似乎並不奏效。 – nickcoxdotme
啊。我還必須使我的最後一行'$('#button-go')。attr('href',''+ url +'');'。見[這裏](http://jsfiddle.net/nickcoxdotme/3cdPp/7/)。你會添加這個到你的答案,我會標記它的權利?另外,你會解釋('+ selectedIndex +')語法嗎?我從來沒有見過。 – nickcoxdotme
@nickcoxdotme是的,我已經到了那一步,我會更新我的答案。這條線的問題在於它在一個字符串內,所以它真的在尋找一個不存在的'selectedIndex'索引,因此控制檯中的'undefined' – Sharlike
那麼它似乎並不像你可以添加一個數據屬性,並期望所選擇的將它帶到你的新列表中。所以,我提出這樣的:Create an array of the urls before you make the chosen and stach the url by the option name.
我加了這一點:
var dataURLS = new Array();
var options = $('option');
options.each(function(){
dataURLS[$(this).text()] = $(this).attr('data-url');
});
,改變了這一點:
url = $('#cancer-select option:eq(selectedIndex)').attr('data-url');
這樣:
url = dataURLS[$(this).text()];
$('.chzn-single').attr('href',url);
看控制檯輸出,我認爲它做你以後的事情。
編輯:更新了準確性。
'href'屬性只是說'javascript:void(0)',並且控制檯仍然說'url'未定義... – nickcoxdotme
給予好評的我展示一些新的東西。選擇的是一個很酷的插件。 –