নাম বিশিষ্ট বর্গক্ষেত্র বন্ধনী সহ ইনপুটগুলির জন্য jQuery নির্বাচনকারী


179

আমি এই উপাদানটি বেছে নেওয়ার চেষ্টা করছি যার নাম বৈশিষ্ট্যে বর্গাকার বন্ধনী রয়েছে:

<input type="text" name="inputName[]" value="someValue">

আমি এটি চেষ্টা করেছি (যা কাজ করে না):

$('input[inputName[]=someValue]')

এবং এটিও করে না:

$('input[inputName&#91;&#93;=someValue]')

অথবা এটা:

$('input["inputName[]"=someValue]')

সম্পাদনা: আপনারা যেমন কিছু উল্লেখ করেছেন, $('input[inputName=someValue]')কখনও কাজ করবে না। আমার কি করার চেষ্টা ছিল ছিল: $('input[name=inputName][value=someValue]')। (তবে []নামের সাথে গুণাবলী)।

উত্তর:


262

JQuery ডকুমেন্টেশন প্রতি , এই চেষ্টা করুন:

$('input[inputName\\[\\]=someValue]')

[সম্পাদনা] তবে, আমি নিশ্চিত নই যে এটি আপনার নির্বাচকের জন্য সঠিক বাক্য গঠন। আপনি সম্ভবত চান:

$('input[name="inputName[]"][value="someValue"]')

32
ভালো বল ধরা. দুটি ব্যাকস্ল্যাশগুলির প্রয়োজনের কারণ হ'ল একক ব্যাকস্ল্যাশটিকে জাভাস্ক্রিপ্ট স্ট্রিং এ্যাস্কেপ চরিত্র হিসাবে ব্যাখ্যা করা হয়, সুতরাং আপনাকে একটি আক্ষরিক ব্যাকস্ল্যাশ নির্দিষ্ট করতে দু'জনের দরকার যা নির্বাচককে পলায়ন চরিত্র সরবরাহ করে ... আহ, একাধিক স্তরের চরিত্রের আনন্দ পলায়নপর।
পিটার

এটার জন্য ধন্যবাদ. এটি নিয়মিত এক্সপ্রেশন ব্যবহার করার বিষয় মাত্র। আপনার প্রিয় দৃশ্যের কাঠামোর মধ্যে কোনও অ্যারে বা তালিকায় সরাসরি ফর্ম ডেটা জমা দেওয়ার সময় এটি খুব দরকারী। এটি একাধিক প্রাথমিক কী উপাদানগুলির সাথে অবজেক্টগুলি মোছা সম্পর্কে প্রশ্নের উত্তর দিতে আমাকে সহায়তা করেছে helped ;)
লুইজ ফেইজিও ভেরোনেসি

79

আপনি আপনার jQuery নির্বাচকগুলিতে "মজার" চরিত্রগুলি উদ্ধৃত করতে ব্যাকস্ল্যাশ ব্যবহার করতে পারেন:

$('#input\\[23\\]')

বৈশিষ্ট্য মানগুলির জন্য, আপনি উদ্ধৃতিগুলি ব্যবহার করতে পারেন:

$('input[name="weirdName[23]"]')

এখন, আমি আপনার উদাহরণ দিয়ে কিছুটা বিভ্রান্ত; আপনার এইচটিএমএল দেখতে ঠিক কেমন? "ইনপুটনাম" স্ট্রিংটি বিশেষত কোথায় প্রদর্শিত হবে?

ফিক্সড বোগোসিটি সম্পাদনা করুন ; ধন্যবাদ @ ডানক্রাম্ব


1
আপনার দ্বিতীয় পরামর্শটি ব্যবহার করে আমি তা করতে সক্ষম হয়ে আমি <select name="foo[bar]">ব্যবহার করে (কাকতালীয়ভাবে একটি নির্বাচিত ট্যাগ) নির্বাচন করতে পারছি না । $('select[name=foo\\[bar\\]]')$('select[name="foo[bar]"])
ফ্রাঙ্ক নোক

53

অ্যাট্রিবিউট সিলেক্টর সিনট্যাক্সটি [name=value]সেখানে nameবৈশিষ্ট্যের নাম এবং valueবৈশিষ্ট্যের মান।

সুতরাং আপনি যদি মানটি যুক্ত inputবৈশিষ্ট্য সহ সমস্ত উপাদান নির্বাচন করতে চান :nameinputName[]

$('input[name="inputName[]"]')

এবং আপনি যদি দুটি বৈশিষ্ট্য পরীক্ষা করতে চান (এখানে: nameএবং value):

$('input[name="inputName[]"][value=someValue]')

7

যদি নির্বাচক কোনও ভেরিয়েবলের মধ্যে থাকে তবে নীচের কোডটি সহায়ক হতে পারে:

selector_name = $this.attr('name');
//selector_name = users[0][first:name]

escaped_selector_name = selector_name.replace(/(:|\.|\[|\])/g,'\\$1');
//escaped_selector_name = users\\[0\\]\\[first\\:name\\]

এই ক্ষেত্রে আমরা ডাবল ব্যাকস্ল্যাশ সহ সমস্ত বিশেষ অক্ষর উপসর্গ করেছি।


1
selector.replace (/ ([|]) / ছ, '\\\\ $ 1'); আমার জন্য কিছুটা ভাল কাজ করেছে কারণ এটি পালিয়ে যাওয়া
টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো

@ ফাইডো কেবল মনে রাখবেন যে আপনার পাশাপাশি
কলোন

1

এটিকে বিভিন্ন উদ্ধৃতি দিয়ে আলাদা করুন:

<input name="myName[1][data]" value="myValue">

jQuery:

var value = $('input[name="myName[1][data]"]').val();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.