2013-08-19 39 views
1

比方說,比如我有一些圖片使用jQuery使用圖像的ATTR設置一個隱藏的輸入值

<img class="selectImage" src="..." value="John" /> 
<img class="selectImage" src="..." value="Sally" /> 
<img class="selectImage" src="..." value="Joe" /> 

當圖像被點擊我要的

<input type="hidden" name="First Name" /> 

值成爲的值 「的值=」

+0

謝謝我糾正了相應的標記以反映此評論 –

回答

1

嘗試

jQuery(function($){ 
    var hinput = $('input[name="First Name"]'); 
    $('.selectImage').click(function(){ 
     hinput.val($(this).attr('value')) 
    }) 
}) 

演示:Fiddle

+0

我認爲'.attr()'已被棄用。應該使用'.prop()'來代替。 –

+0

@ArvindBhardwaj不是這個用例...這裏'value'是html元素中的一個屬性 –

+0

@Arun,我認爲你是對的。 –

0
$(function() { 
    $('img.selectImage').click(function(e) { 
     e.preventDefault(); 
     var myVal = $(this).attr("value"); 
     $('input:hidden[name="First Name"]').val(myVal); 
    }); 
}); 
0

我會建議使用data-* attribute數據與元素相關聯,而不是將value屬性,正如其他人所說,是不是有效的標記。

改變你的HTML被格式化,像這樣:

<img class="selectImage" src="..." data-firstname="John" /> 

然後,您可以訪問data-* attribute with JQuery如下:

var x = $("selector").data("firstname");//get 
$("selector").data("firstname", x);//set 

完整的代碼爲您的要求如下:

$('.selectImage').click(function(){ 
    var firstName = $(this).data("firstname"); 
    $('input[name="First Name"]').val(firstName); 
}); 

Here is a working example

相關問題