<ইনপুট> এর বিশিষ্ট নামের মানটি পান


134

কীভাবে jQuery ব্যবহার করে কোনও ইনপুট ট্যাগের অ্যাট্রিবিউট নামের মান পাবেন। সাহায্য করুন.

<input name='xxxxx' value=1>

উত্তর:


270

আপনার ইনপুটটিকে একটি আইডি দিন এবং attrপদ্ধতিটি ব্যবহার করুন :

var name = $("#id").attr("name");

33

attrJQuery এর পদ্ধতিটি এর মতো ব্যবহার করুন :

alert($('input').attr('name'));

নোট করুন যে আপনি attrদ্বিতীয় যুক্তি নির্দিষ্ট করে বিশিষ্ট মানগুলি সেট করতেও ব্যবহার করতে পারেন :

$('input').attr('name', 'new_name')

18
var value_input = $("input[name*='xxxx']").val();

এই পোস্টটি স্বয়ংক্রিয়ভাবে নিম্ন মানের হিসাবে পতাকাঙ্কিত হচ্ছে কারণ এটি এত সংক্ষিপ্ত / কেবল কোড। সমস্যাটি কীভাবে সমাধান করে তা ব্যাখ্যা করার জন্য কিছু পাঠ্য যোগ করে আপনি কি এটি প্রসারিত করতে আপত্তি করবেন?
গুং - মনিকা 15

2
এটি আসলে সমস্যার সমাধান করে না। ওপি নামের মান পেতে চায়; এটি ধরে নিয়েছে আপনি ইতিমধ্যে এটি জানেন।
felwithe

16

যদিও অস্বীকার করার দরকার নেই যে jQuery একটি শক্তিশালী হাতিয়ার, এটি একটি তুচ্ছ ক্রিয়াকলাপের জন্য "একটি উপাদানের বৈশিষ্ট্যের মান পান" হিসাবে এটি ব্যবহার করা সত্যিই খারাপ ধারণা।

বর্তমান গৃহীত উত্তরের বিচার করে আমি ধরে নিতে চলেছি যে আপনি নিজের উপাদানটিতে একটি আইডি বৈশিষ্ট্য যুক্ত করতে এবং এটি নির্বাচন করতে এটি ব্যবহার করতে সক্ষম হয়েছিলেন।

এটি মনে রেখে, এখানে কোডের দুটি টুকরা। প্রথম, গৃহীত উত্তরে আপনাকে প্রদত্ত কোড:

$("#ID").attr("name");

এবং দ্বিতীয়টি, এর ভ্যানিলা জেএস সংস্করণ:

document.getElementById('ID').getAttribute("name");

আমার ফলাফল:

  • jQuery: 300k অপারেশন / সেকেন্ড
  • জাভাস্ক্রিপ্ট: 11,000k অপারেশন / সেকেন্ড

আপনি এখানে নিজের জন্য পরীক্ষা করতে পারেন । "প্লেইন জাভাস্ক্রিপ্ট" ভেরনটি প্রায় 35 গুণ বেশি গতিযুক্ত jQuery সংস্করণের চেয়ে ।

এখন, এটি কেবলমাত্র একটি অপারেশনের জন্য, সময়ের সাথে সাথে আপনার কোডে আরও বেশি করে স্টাফ থাকবে। সম্ভবত বিশেষত উন্নত কোনও কিছুর জন্য, সর্বোত্তম "খাঁটি জাভাস্ক্রিপ্ট" সমাধানটি চালাতে এক সেকেন্ড সময় নিতে পারে। JQuery সংস্করণটি পুরো মিনিটে 30 সেকেন্ড সময় নিতে পারে! বিশাল! লোকেরা এর জন্য আশেপাশে বসে থাকবে না। এমনকি ব্রাউজারটি বিরক্ত হয়ে যাবে এবং আপনাকে খুব বেশি সময় নেওয়ার জন্য ওয়েবপৃষ্ঠাটি মেরে ফেলার বিকল্প সরবরাহ করবে!

আমি যেমন বলেছি, jQuery একটি শক্তিশালী সরঞ্জাম, তবে এটি সবকিছুর উত্তর হিসাবে বিবেচনা করা উচিত নয়


সুন্দর উত্তর, আমি জাভাস্ক্রিপ্ট jquery ডান চেয়ে আরও দ্রুত তাই পরীক্ষা করা হয়েছে?
রিজো

আপনি প্রশ্নটি জিজ্ঞাসা করার 4 বছর পরে এই প্রশ্নের উত্তর দিয়েছিলেন এবং আপনি প্রশ্নের সমাধান করেননি। ব্যক্তিটি জিজ্ঞাসা করলেন কীভাবে এটি jQuery এ করবেন। JQuery বা ভ্যানিলা জেএস ব্যবহার করা এবং প্রশ্নের
আওতার

ভ্যানিলা জেএস! ?? মজা করছি, আমি হ্যাক ভ্যানিলা জেএস কী তা নিয়ে গবেষণা করে আধ ঘন্টা ব্যয় করেছি।
বশির আল-মোমনি

সম্ভবত বিকাশকারী জানেন না। আমি এই বিষয়টি সম্পর্কে সচেতন ছিলাম যে jQuery এর মতো ফ্রেমওয়ার্কগুলি কিছুটা ওভারহেডের কারণ করে। JQuery ব্যবহার করার সময় 35
ড্যানিয়েল

7

আপনাকে এমন একটি নির্বাচক লিখতে হবে যা <input>প্রথমে সঠিকটি নির্বাচন করে । আদর্শভাবে আপনি উপাদানটির আইডি ব্যবহার করেন $('#element_id'), ব্যর্থ হয়ে এটির ধারকটির আইডি $('#container_id input')বা উপাদানটির শ্রেণি $('input.class_name')

আপনার উপাদানগুলির মধ্যে এগুলির কোনও এবং কোনও প্রসঙ্গ নেই, সুতরাং এটি কীভাবে নির্বাচন করবেন তা আপনাকে বলা শক্ত।

একবার আপনি সঠিক নির্বাচকটি সন্ধান করতে পারলে আপনি উপাদানটির বৈশিষ্ট্যগুলি অ্যাক্সেস করতে অ্যাটর পদ্ধতিটি ব্যবহার করবেন । নামটি পেতে, আপনি $(selector).attr('name')যা ব্যবহার করবেন তা ফিরে আসবে (আপনার উদাহরণে) 'xxxxx'


5

আরও ভাল উপায় 'এটি' ব্যবহার করা যেতে পারে, এটি 'আইডি' এর নাম যাই হোক না কেন লাগে এবং এটি ব্যবহার করে। যতক্ষণ আপনি ক্লাসের নামটি যোগ করেন ততক্ষণ 'মাইটারেজেট' called

যখনই যে কোনও ক্ষেত্রের লক্ষ্য পরিবর্তন হয়েছে তখন এটি সেই ক্ষেত্রের নাম সহ একটি সতর্কতা বাক্স প্রদর্শন করবে। এটি কাজ করার জন্য কেবল পুরো স্ক্রিপ্ট কেটে ফেলে দিন!

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
 $('.mytarget').change(function() {
var name1 = $(this).attr("name");
alert(name1);
 });
});
</script>

Name: <input type="text" name="myname" id="myname" class="mytarget"><br />
Age: <input type="text" name="myage" id="myage" class="mytarget"><br />


1

মান ব্যবহার করে ইনপুট নাম পান

 $('input[value="1"]').attr('name');

আইডি ব্যবহার করে ইনপুট নাম পান

 $('input[class="id"]').attr('name');
   $('#id').attr('name');

ক্লাস ব্যবহার করে ইনপুট নাম পান

 $('input[value="classname"]').attr('name');
   $('.classname').attr('name');  //if classname have unique value

0

আপনি যদি কোনও একক উপাদানের সাথে অগ্রাধিকার সহকারে কাজ করছেন তবে আপনার idজেনেরিক টাইপটিয়ার উত্তর অনুসারে নির্বাচকটি ব্যবহার করা উচিত এবং নামটি পেতে হবে $("#id").attr("name");

তবে আপনি যদি চান তবে আমি যেমন এই প্রশ্নটি পেয়েছি, নির্দিষ্ট শ্রেণীর সমস্ত ইনপুট নাম সহ একটি তালিকা (আমার উদাহরণে .selectable-checkboxশ্রেণীর সাথে সমস্ত চেকবিহীন চেকবক্সগুলির নাম সহ একটি তালিকা ) আপনি কিছু করতে পারেন:

var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);

অথবা

var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
    listOfUnchecked.push($(this).attr('name'));
});

0

ইনপুট ট্যাগে ক্লাস পাস করুন এবং ক্লাস ব্যবহার করে নাম মান অ্যাক্সেস করুন।

<input class="test-class" name='xxxxx' value=1>

<script>
    $('.test-class').attr('name');
</script>

অথবা আপনি আইডি ব্যবহার করে মানটি অ্যাক্সেস করতে পারেন।

<input id="test-id" name='xxxxx' value=1>

<script>
    $('#test-id').attr('name');
</script>

-2

নীচের লাইনের জন্য, প্রাথমিকভাবে একক কোড দেওয়ার ক্ষেত্রে সমস্যার মুখোমুখি হয়েছিল যে 'কার্নরটআরও অ্যাপনাম' মূল্য স্ট্রিংয়ের সাথে স্থান গ্রহণ করছে না। সুতরাং, পরে একক কোড প্রদান'"+row.applicationName+"' এটির স্থানও নেবে।

উদাহরণ:

<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >

var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)

এটি ভাল কাজ করছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.