2012-06-01 42 views
2

每次用戶檢查單選按鈕時,我都想更改隱藏輸入字段的值。當選擇單選按鈕時更改隱藏的輸入字段值

這就是我的HTML的樣子。

<input type="hidden" id="ZAAL_NAME" value="" name="ZAAL_NAME" /> 

<input type="radio" name="zaal_ID" value="ROOM1" onclick="change"> 
<input type="radio" name="zaal_ID" value="ROOM2" onclick="change"> 
<input type="radio" name="zaal_ID" value="ROOM3" onclick="change"> 

現在我希望每次檢查單選按鈕時,該單選按鈕的值也變爲隱藏輸入字段的值。有誰知道如何做到這一點?這是我到目前爲止。

$('input[name="radbut"]').click(function() { 
    console.log(this.value); 
    $('ZAAL_NAME').val(this.value); 
}); 

有人可以幫忙嗎?

親切的問候,

Steaphann

+2

爲什麼你想呢?提交表單時,您最終會在「ZAAL_NAME」和「zaal_ID」中得到相同的值。爲什麼不在服務器端處理中使用'zaal_ID'? – lanzz

+0

@lanzz我希望我能多次+1您的評論 –

+0

因爲我需要在一個表中輸入ID,而在另一個表中輸入zaal_NAME。同樣爲了給我的數據庫提供數據,我必須使用name屬性。這就是爲什麼 ! – Steaphann

回答

6

你的直列onclick處理程序將無法正常工作,因爲你不包括括號:它需要onclick="change()"實際調用函數。但是,你應該將其更改爲onclick="change(this);"對點擊的按鈕的引用傳遞給你的函數,那麼:

function change(el){ 
    $("#ZAAL_NAME").val(el.value) ; 
} 

你也jQuery選擇需要一個#對ID進行選擇。

更好,雖然會從您的標記刪除內聯onclick,做這樣的:

$('input[name="zaal_ID"]').click(function() { 
    $('#ZAAL_NAME').val(this.value); 
}); 

後者將需要在文檔準備好處理程序和/或之後出現一個腳本塊您的單選按鈕在頁面源中。

注:獲得點擊的元素的值時,你可以說$(el).val()$(this).val()(取決於你正在尋找在兩個功能),但考慮到elthis是的DOM元素你可以得到引用其價值屬性直接與el.valuethis.value

+0

我已經完成了你的第二種方式,但是當我看着螢火蟲它並沒有設定值 – Steaphann

+0

我已編輯我的文章。但console.log不會打印任何東西 – Steaphann

+0

對不起,我沒有注意到之前,#已經離開jQuery選擇器的開始(需要通過元素id選擇)。答案已更新。剛剛看到你的編輯:「radbut」從哪裏來?這與您的html中的元素名稱不匹配... – nnnnnn

0

您可以使用是

$("input:radio[name=ZAAL_NAME]").click(function() { 
    var value = $(this).val(); 
    // or $('input:radio[name=theme]:checked').val(); 
    $("#ZAAL_NAME").val(value); 
}); 

$("input:radio[name=ZAAL_NAME]").click(function() { 
    $("#ZAAL_NAME").val($(this).val()); 
}); 
1
function change(){ 
    $("ZAAL_NAME").val($(this).val()) ; 
} 

function change(){ 
    $("ZAAL_NAME").val($("input[type='radio']:checked").val()) ; 
} 
4
$('input[name="zaal_ID"]').change(function(){ 
    $('#ZAAL_NAME').val(this.value); 
}) 
1

使用onclick="change(this.value);"和函數使用這樣

function change(e){ 
    $("ZAAL_NAME").val(e) ; 


} 
相關問題