2016-10-03 12 views
2

我有下面的代碼,而不是屬性VAL()的:就拿定製與jQuery

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.pack.js"></script> 
</head> 
<body> 
<select name="size"> 
    <option custAttr="0" value="0" disabled selected>Value ↓</option> 
    <option custAttr="10" value="10">AAA (10)</option> 
    <option custAttr="20" value="20">BBB (20)</option> 
    <option custAttr="30" value="30">CCC (30)</option> 
</select> 

<label class="result"></label> 

<script> 
$(document).ready(function() { 
    $('select').on('change', function() { 
     $('.result').text(
      $('select[name=size]').val() 
     ); 
    }); 
}); 
</script> 
</body> 
</html> 

其實腳本從value=""內容。有沒有腳本從我的自定義屬性custAttr=""獲取代碼的方法?

+1

看看'.attr()' –

回答

5

首先請注意,創建自己的屬性將意味着您的HTML無效,可能會產生意想不到的效果。使用data-*屬性來存儲您自己的數據。從那裏你可以使用option:selected來獲得所需的數據值。試試這個:

$(document).ready(function() { 
 
    $('select').on('change', function() { 
 
    $('.result').text($('select[name=size] option:selected').data('cust-attr')); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="size"> 
 
    <option data-cust-attr="0" value="0" disabled selected>Value ↓</option> 
 
    <option data-cust-attr="10" value="10">AAA (10)</option> 
 
    <option data-cust-attr="20" value="20">BBB (20)</option> 
 
    <option data-cust-attr="30" value="30">CCC (30)</option> 
 
</select> 
 

 
<label class="result"></label>

+0

謝謝。它正在工作。我必須等5分鐘才能接受。 – David

+0

沒問題,很高興幫助 –

+0

還有一個小問題:你知道如何用逗號代替點。例如。 '123,45'而不是'123.45'。 – David

1

據我知道你可以做這樣的

$("#myselect option:selected").attr('custAttr'); 
1
$('select[name=size]').attr("custAttr"); 

.attr()

1

attr()應該做的伎倆!

$('select[name=size]').attr('custAttr');