[英]jquery: get value of custom attribute in drop down
我有一個簡單的JQuery代碼。
$(document).ready(function() {
$( ".translanguage" ).change(function() {
var value = $(this).attr("langid");
alert(value);
});
});
我有HTML代碼。
<select name="translanguage" class="translanguage">
<option value="0">Please Select Language</option>
<option class="transoption" value="1" langid="1">Urdu</option>
<option class="transoption" value="2" langid="2">English</option>
<option class="transoption" value="3" langid="3">Arabic</option>
<option class="transoption" value="4" langid="4">Sindhi</option>
</select>
當我運行此程序時,它在警告框中給出未定義的錯誤。 我需要在我的選項tage中給出的langid的值。
那我的代碼有什么問題呢。 ?
其次,JQuery中未定義錯誤的原因是什么。
謝謝
在更改處理程序內部, this
引用了select
元素,但是langid
位於選定的option
元素中。 因此,您需要找到所選的option
,然后在該元素上調用.attr("langid")
jQuery(function () {
$(".translanguage").change(function () {
var value = $(this).find('option:selected').attr("langid");
alert(value);
});
})
演示: 小提琴
嘗試這樣的事情
$( ".translanguage" ).change(function() {
alert(this.options[this.selectedIndex].getAttribute('langid'));
});
這個腳本適合你。 見jsfiddle
$(function () {
$(".translanguage").change(function () {
var value = $( "select option:selected" ).attr("langid");
alert(value);
});
})
嘗試這個:
// jquery wont find the attr of langid, change the langid to id in html.
$(document).ready(function() {
$( ".translanguage" ).change(function() {
var value = $(this).attr("id");
alert(value);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.