आप कस्टम "डाटा" विशेषता का उपयोग विशेषताओं को परिभाषित। आपके कोड में, custome विशेषता नहीं है जो मुझे यकीन है कि आप इसे एक आईडी होना चाहते हैं। सटीक प्रारूप "data-*"
है, जहां "*"
वांछित कस्टम विशेषता नाम के साथ प्रतिस्थापित किया गया है, फिर वांछित स्ट्रिंग मान पर सेट करें। तो आपके कोड में, यह आदर्श होना चाहिए:
<select onchange="check_status(this);" name="status[171]">
<option selected="true" value="open" data-id="open04f2cf35e4d7a1c0158459fd0450a605">open</option>
<option value="in_process" data-id="pending104f2cf35e4d7a1c0158459fd0450a605">pending</option>
<option value="finished" data-id="finished04f2cf35e4d7a1c0158459fd0450a605">finished</option>
<option value="canceled" data-id="canceled04f2cf35e4d7a1c0158459fd0450a605">canceled</option>
</select>
मानते हुए कि आप कस्टम विशेषता "आईडी" होना चाहते हैं।
आप दो तरह से "डाटा" का मान प्राप्त कर सकते हैं शुद्ध जावास्क्रिप्ट का उपयोग गुण: अच्छे पुराने फैशन प्राप्त/setAttribute(), आप भी तत्व की "डाटासेट" संपत्ति का उपयोग कर उपयोग कर सकते हैं के अलावा
डोम के getAttribute() संपत्ति
function check_status(obj) {
var myoption = obj.options[obj.selectedIndex];
var uid = myoption.getAttribute('data');
alert(uid);
// setting and removing the data-id attribute
myoption.setAttribute("data-id", "foo") //changes "data-id" to "foo"
myoption.removeAttribute("data-id") //removes "data-id" attribute entirely
}
का उपयोग Btw जावास्क्रिप्ट का डाटासेट संपत्ति
function check_status(obj) {
var myoption = obj.options[obj.selectedIndex];
var uid = myoption.dataset.id;
alert(uid);
var statusId = myoption.dataset["id"]
alert(statusId);
}
का उपयोग करना, 'डेटा' विशेषता मौजूद नहीं है। यदि आप कस्टम डेटा का उपयोग करना चाहते हैं, तो इसके बजाय 'डेटा-यूआईडी' जैसे कुछ का उपयोग करें। –