2012-04-28 24 views
2

啊IM貨架我的大腦試圖找出了這一點。新來的Jquery ......你大概能夠告訴一聲......jQuery的形式 - 更改隱藏值選項ID

嘗試使用該選項ID設置一個隱藏的輸入值,但小時,數百穀歌搜索的無解。

我已經找到了如何拉使用選擇ID選擇的選項的值,但我想要得到的選項的ID,所以我可以設置獨特的ID作爲隱藏輸入的值。

<form> 
<select name="amount" id="item_number1"> 
    <option value="1" id="11">one</option> 
    <option value="2" id="22">two</option> 
    <option value="3" id="33">three</option> 
</select> 
<input type="button" value="Set Value" onclick="$('#item_number2').val($('#item_number1').val())"/> 
<input id="item_number2" type="text" /> 

PS:這種形式的隱藏輸入心不是,在這種形式下,我使用一個文本輸入框,所以我可以,如果我的方法是工作可視化。

回答

1

你可以選擇的選項的id是這樣的:

<script> 
$(function(){ 
    var sItem = document.getElementById("item_number1"); 
    $("#transfer").on("click", function(){ 
    $("#item_number2").val(sItem[sItem.selectedIndex].id); 
    }); 
}); 
</script> 
<input type="button" id="transfer" value="Transfer ID" /> 
<select name="amount" id="item_number1"> 
    <option value="1" id="11">one</option> 
    <option value="2" id="22">two</option> 
    <option value="3" id="33">three</option> 
</select> 
<input type="text" id="item_number2" /> 

注意,你是不是想用一個數字開始你的ID值 - 這可能會導致在路上你的問題。當涉及到這樣的東西時,最好遵守規則。

演示:http://jsbin.com/ucujex/edit#javascript,html,live

+0

感謝您對ID的提示,將不得不堅持。但是我在解決這個問題方面遇到了問題。我用這個替換了其他jquery函數,它似乎沒有拉什麼東西? – cantaffordretail 2012-04-28 04:46:36

+0

@mcflause我提供了一個稍微不同的解決方案。請檢查上面的代碼。從您的按鈕中刪除'onclick'屬性。 – Sampson 2012-04-28 04:48:24

+0

喬納森,這是完美的!你真的走了多遠,我很感激! – cantaffordretail 2012-04-28 04:57:54

1

您可以更新按鈕的onclick到:

$("#item_number2").val($("#item_number1 option:selected").attr("id")); 

一個很好的改善將有當您更改select選項,它會自動改變(你不需要按鈕)。

$("#item_number1").change(function() { 
    $("#item_number2").val($("option:selected", this).attr("id")); 
}); 
+0

謝謝dtbarne,我會絕對實現選擇選項的變化,將值放入隱藏的輸入。 – cantaffordretail 2012-04-28 04:59:41

+0

嘿!我試圖實現這個沒有運氣,你能看到我做錯了什麼? http://jsbin.com/anatod/edit#javascript,html,live – cantaffordretail 2012-04-28 05:16:01

+0

javascript應該在HTML之後。在$(document).ready()' – dtbarne 2012-04-28 05:26:11