JQuery এ টেক্সারিয়ার মান সেট করুন


525

আমি নীচের কোড সহ jquery ব্যবহার করে একটি টেক্সারিয়া ক্ষেত্রের মধ্যে একটি মান সেট করার চেষ্টা করছি:

$("textarea#ExampleMessage").attr("value", result.exampleMessage);

সমস্যাটি হচ্ছে, একবার এই কোডটি কার্যকর করলে, এটি কি টেক্সটরিয়ায় পাঠ্য পরিবর্তন করে না?

তবে একটি alert($("textarea#ExampleMessage").attr("value"))নতুন সেট মান সঞ্চালনের সময় ফিরে আসে?


3
যদি jQuery যাদুটি <textarea> এ ভাল () সেট করতে কাজ করে না, এবং আপনি আইডি দ্বারা টার্গেট করছেন, একই আইডির একাধিক উপাদান রয়েছে এমন সম্ভাবনা রয়েছে।
বিলিচার্ডস

উত্তর:


877

আপনি ভাল চেষ্টা করেছেন?

$("textarea#ExampleMessage").val(result.exampleMessage);

5
বেশিরভাগ ক্ষেত্রে সত্য, যদিও ভ্যাল আপনি যে মানটি নির্ধারণ করছেন সেটি একটি স্ট্রিং কিনা তা নিশ্চিত করতে সময় নেয় এবং অ্যাটর মনে হয় সামগ্রিকভাবে আরও কিছু জাদু করতে পারে।
enobrev

62
হ্যাঁ। একটি পাঠ্যপরিষের একটি মান বৈশিষ্ট্য থাকে না, যখন একটি ইনপুট থাকে।
MDCore

14
সম্মত, তবে ভাল () এটিকে এটি ইনস্টল করছে। তাদের [jquery] অবশ্যই এটি পাঠ্য টাইপ করতে হবে এবং পাঠ্য সেট করতে হবে।
গনিলে

17
একটি টেক্সট ইনপুট যেমন টেক্সারিয়া একটি মান (জাভাস্ক্রিপ্ট) সম্পত্তি আছে। এটা তোলে একটি HTML নেই valueঅ্যাট্রিবিউট, কিন্তু যে বিষয়টি উভয় কারণ না, val()এবং attr('value')লেখার জাভাস্ক্রিপ্ট মান সম্পত্তিতে। দ্রষ্টব্য, এইচটিএমএল বৈশিষ্ট্য সেট attr()করে না ! এটি কেবল জাভাস্ক্রিপ্টের বৈশিষ্ট্য নির্ধারণ করে, যখন শ্রেণি / শ্রেণির নামের মতো ক্ষেত্রে পৃথকীকরণের নামটি আলাদা রাখার চেষ্টা করা হয়। তবে আপনি এখনও সেই জায়গাগুলির জন্য পার্থক্য দেখতে পাবেন যেখানে বৈশিষ্ট্য এবং সম্পত্তি বিভিন্ন জিনিস যেমন ফর্ম উপাদানগুলিতে করে।
বোবিনস

2
val(foo)আমার জন্য কাজ করে (jQuery 1.9.1)। ব্যবহার text(foo)হারায় পাঠ্য এলাকা বিষয়বস্তু আপডেট করার জন্য আই ই তে linebreaks হারায় ব্যবহার val(foo)সংরক্ষণ তাদের।
টিম

77

টেক্সারিয়ার কোনও মান বৈশিষ্ট্য নেই, এর মান ট্যাগগুলির মধ্যে আসে, অর্থাত:, এটি <textarea>my text</textarea>ইনপুট ক্ষেত্রের মতো নয় ( <input value="my text" />)। এজন্য অ্যাটর কাজ করে না :)


50

$("textarea#ExampleMessage").val() jquery এ শুধু একটি যাদু।

আপনার লক্ষ্য করা উচিত যে টেক্সারিয়া ট্যাগটি ইনপুট ট্যাগের মতো মান বৈশিষ্ট্যে প্রদর্শন করার জন্য অভ্যন্তরীণ এইচটিএমএল ব্যবহার করে ।

<textarea>blah blah</textarea>
<input type="text" value="blah blah"/>

আপনার ব্যবহার করা উচিত

$("textarea#ExampleMessage").html(result.exampleMessage)

অথবা

$("textarea#ExampleMessage").text(result.exampleMessage)

আপনি যদি এইচটিএমএল ট্যাগ বা সাধারণ পাঠ্য হিসাবে এটি প্রদর্শন করতে চান তবে তার উপর নির্ভর করুন।


1
আপনি সঠিক, টেক্সারিয়ার কোনও মান বা মান নেই এবং বিকাশকারীর পক্ষে জীবন সহজ করার জন্য জ্যাকোয়ারি কিছু জাদু করছে।
স্কট

16
একে যাদু বলা হয় না, একে বিমূর্ততা বলা হয়। টেক্সেরিয়া শুধুমাত্র 1 এবং 0 এর হয় তবে আপনার কম্পিউটারে বিমূর্ততার সমস্ত স্তর আপনার জন্য এটি লুকিয়ে রাখে। এটি উল্লেখ করা ঠিক আছে, তবে দয়া করে লোককে অন্য কারণগুলিকে এমন কারণে
কমিয়ে আনতে বলুন

8
সাবধান - এইচটিএমএল () স্ক্রিপ্ট ট্যাগগুলি কার্যকর করে।
লিঙ্কন বি

3
JQuery API থেকে ".xtxt () পদ্ধতিটি ফর্ম ইনপুট বা স্ক্রিপ্টগুলিতে ব্যবহার করা যাবে না input .html () পদ্ধতি।
পাইলট

20

ওহহ ছেলেদের উপর এসো! এটা ঠিক সঙ্গে কাজ করে

$('#your_textarea_id').val('some_value');

আপনি যদি কোনও আইডি নির্বাচক ব্যবহার করেন তবেই। আমার হিসাবে তৃতীয় পক্ষের উত্পন্ন কোড হিসাবে আমি পারি না
জ্যাক

16

আমি এই কাজ করা উচিত :

$("textarea#ExampleMessage").val(result.exampleMessage);

10

আমার একই প্রশ্ন ছিল তাই আমি বর্তমান ব্রাউজারগুলিতে এটি চেষ্টা করার সিদ্ধান্ত নিয়েছি (আমরা এই প্রশ্নের পরে দেড় বছর পরে সময় করব), এবং এটি ( .val) কাজ করে

$("textarea#ExampleMessage").val(result.exampleMessage); 

জন্য

  • IE8
  • এফএফ 3.6
  • FF4
  • অপেরা 11
  • ক্রোম 10

1
রেকর্ডের জন্য, ব্যতিক্রমী jQuery ক্রিয়াকলাপগুলির মধ্যে একটি হ'ল ব্রাউজারের সামঞ্জস্যতা সরবরাহ করে, তাই হ্যাঁ, এটি সম্ভবত .val()বেশ কয়েকটি ব্রাউজারে তার যাদু করতে পারে;)
ডায়োসনি

9

অ্যান্ড্রয়েডে .valএবং .htmlকাজ করে না।

$('#id').text("some value")

কাজটি করেছে


1
JQuery API থেকে ".xtxt () পদ্ধতিটি ফর্ম ইনপুট বা স্ক্রিপ্টগুলিতে ব্যবহার করা যাবে না input .html () পদ্ধতি।
পাইলট

8

আমার একই সমস্যা ছিল এবং এই সমাধানটি কাজ করে না তবে এইচটিএমএল ব্যবহার করা যা কাজ করেছিল তা হল

$('#your_textarea_id').html('some_value');

3
না, html()পাঠ্য প্রতি একবার মাত্র কাজ করছে, পরের বার, আপনি গতিসম্পন্ন বিষয়বস্তু পরিবর্তন করতে চান textarea, html()কাজ করবে না ...
লেজিয়ানার

@ লেজিওনার তাহলে এই মামলাটি কীভাবে পরিচালনা করবেন?
জওয়ানদ সিং

ভাল, এই আমাকে স্ট্যাকওভারফ্লো.com/ প্রশ্নগুলি / 1219860/… এই ফাংশনগুলি ব্যবহার করে আমি কেবল টেক্সারিয়ায় এনকোডেড মানটি ব্যবহার করে সেট করেছি$('#textarea').val(encodedtext);
জাওয়ানদ সিং

5

সমস্যা আছে: প্রদত্ত ডিভের সমন্বিত থেকে আমাকে এইচটিএমএল কোড উত্পন্ন করতে হবে। তারপরে, আমাকে এই কাঁচা এইচটিএমএল কোডটি একটি টেক্সেরিয়ায় রাখতে হবে। যখন আমি the (টেক্সারিয়া) ফাংশনটি ব্যবহার করি। ওভাল () এই জাতীয়:

text (টেক্সারিআ) "/> ব্লে ব্লে");

অথবা

$ ('# idTxtArGenHtml')। ভাল ($ ('idDivMain')। html ());

আমার কিছু বিশেষ চরিত্রের (এবং '') সমস্যা ছিল যখন তারা কোটের মধ্যে রয়েছে But তবে আমি যখন ফাংশনটি ব্যবহার করি: $ (টেক্সারিয়া) h html () পাঠ্যটি ঠিক আছে।

একটি উদাহরণ ফর্ম:

<FORM id="idFormContact" name="nFormContact" action="send.php" method="post"  >
    <FIELDSET id="idFieldContact" class="CMainFieldset">
        <LEGEND>Test your newsletter&raquo; </LEGEND> 
        <p>Send to &agrave; : <input id='idInpMailList' type='text' value='youremail@gmail.com' /></p>
        <FIELDSET  class="CChildFieldset">
            <LEGEND>Subject</LEGEND>
            <LABEL for="idNomClient" class="CInfoLabel">Enter the subject: *&nbsp</LABEL><BR/>
          <INPUT value="" name="nSubject" type="text" id="idSubject" class="CFormInput" alt="Enter the Subject" ><BR/>
    </FIELDSET>
    <FIELDSET  class="CChildFieldset">
        <INPUT id="idBtnGen" type="button" value="Generate" onclick="onGenHtml();"/>&nbsp;&nbsp;
          <INPUT id="idBtnSend" type="button" value="Send" onclick="onSend();"/><BR/><BR/>
            <LEGEND>Message</LEGEND>
                <LABEL for="idTxtArGenHtml" class="CInfoLabel">Html code : *&nbsp</LABEL><BR/>
                <span><TEXTAREA  name="nTxtArGenHtml" id="idTxtArGenHtml" width='100%' cols="69" rows="300" alt="enter your message" ></TEXTAREA></span>
        </FIELDSET>
    </FIELDSET>
</FORM>

এবং জাভাস্ক্রিপ্ট / জ্যাকোয়ারি কোড যা টেক্সেরিয়াটি পূরণ করতে কাজ করে না তা হ'ল:

function onGenHtml(){
  $('#idTxtArGenHtml').html( $("#idDivMain").html()  );
}

সমাধান চূড়ান্ত:

function onGenHtml(){
  $('#idTxtArGenHtml').html( $("#idDivMain").html() );
  $('#idTxtArGenHtml').parent().replaceWith( '<span>'+$('#idTxtArGenHtml').parent().html()+'</span>');
}

ট্রিকটি আপনার টেক্সারিয়াকে রিপ্লেস উইথ ফাংশনে সহায়তা করতে একটি স্প্যান ট্যাগ দিয়ে মুড়ে ফেলবে। আমি এটি খুব পরিষ্কার কিনা তা নিশ্চিত নই, তবে এটি একটি নিখুঁত কাজও একটি টেক্সেরিয়ায় কাঁচা এইচটিএমএল কোড যুক্ত করুন।


5

টেক্সারিয়া মান হিসাবে সংরক্ষণ করে না

<textarea value="someString">

পরিবর্তে, এটি এই বিন্যাসে মান সংরক্ষণ করে:

<textarea>someString</textarea>

সুতরাং attr("value","someString")আপনি এই ফলাফল পায়:

<textarea value="someString">someOLDString</textarea>.

চেষ্টা $("#textareaid").val()বা $("#textareaid").innerHTMLপরিবর্তে।


5

পাঠ্য ক্ষেত্রের মান নেই। jQuery .html () এই ক্ষেত্রে কাজ করে

$("textarea#ExampleMessage").html(result.exampleMessage);

2
না, html()পাঠ্য প্রতি একবার মাত্র কাজ করছে, পরের বার, আপনি গতিসম্পন্ন বিষয়বস্তু পরিবর্তন করতে চান textarea, html()কাজ করবে না ...
লেজিয়ানার

এবং যদি আপনি .empty ()। html ('newContent') @ লেজিওনার করেছেন?
ভিএইচ

3

এটি আমার পক্ষে কাজ করে .... আমি একটি ফেসবুক প্রাচীর তৈরি করেছি ...

এখানে আমার কোডের ভিত্তি রয়েছে:

// SETS MY TEXT AREA TO EMPTY (NO VALUE)
$('textarea#message_wall').val('');

3

এনকোডড এইচটিএমএল এর টেক্সটরিয়া মান সেট করতে (এইচটিএমএল হিসাবে দেখানোর জন্য) আপনার ব্যবহার করা উচিত .html( the_var ) তবে উল্লিখিত হিসাবে যদি আপনি চেষ্টা করে আবার সেট করেন তবে এটি (এবং সম্ভবত) কাজ করবে না।

আপনি টেক্সারিয়া খালি করে .empty()আবার এটি দিয়ে আবার সেট করে এটি ঠিক করতে পারেন.html( the_var )

এখানে একটি কার্যকরী জেএসফিডাল: https://jsfiddle.net/w7b1thgw/2/

jQuery(function($){
    
    $('.load_html').click(function(){
        var my_var = $(this).data('my_html');
        $('#dynamic_html').html( my_var ); 
    });
    
    $('#clear_html').click(function(){
        $('#dynamic_html').empty(); 
    });
    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="dynamic_html"></textarea>
<a id="google_html" class="load_html" href="#" data-my_html="&lt;a href=&quot;google.com&quot;&gt;google.com&lt;/a&gt;">Google HTML</a>
<a id="yahoo_html" class="load_html" href="#" data-my_html="&lt;a href=&quot;yahoo.com&quot;&gt;yahoo.com&lt;/a&gt;">Yahoo HTML</a>
<a id="clear_html" href="#">Clear HTML</a>


2

আমি চেষ্টা .val() .text() .html()এবং পড়তে বা পাঠ্য এলাকা সেট মান jQuery ব্যবহার কিছু বাগ ছিল ... আমি নেটিভ JS ব্যবহার endup

$('#message').blur(function() {    
    if (this.value == '') { this.value = msg_greeting; }
});

2

আমরা মানগুলি সেট করতে .val () বা .text () পদ্ধতি ব্যবহার করতে পারি। আমাদের ভাল ("হ্যালো") এর মতো ভ্যালু () এর ভিতরে মান রাখতে হবে

  $(document).ready(function () {
    $("#submitbtn").click(function () {
      var inputVal = $("#inputText").val();
      $("#txtMessage").val(inputVal);
    });
  });

উদাহরণ এখানে দেখুন: http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html



2

আমি মনে করি একটি গুরুত্বপূর্ণ দিক অনুপস্থিত:

$('#some-text-area').val('test');

যখন কোনও আইডি নির্বাচক (#) থাকে কেবল তখনই কাজ করে

শ্রেণি নির্বাচকদের জন্য দেশীয় মান ব্যবহার করার মতো বিকল্প রয়েছে:

$('.some-text-area')[0].value = 'test';

1

গৃহীত উত্তরটি আমার পক্ষে কাজ করে তবে আমি বোঝার পরেই পৃষ্ঠাটি লোডিং শেষ হওয়ার পরে আমার কোডটি কার্যকর করতে হয়েছিল। এই পরিস্থিতিতে ইনলাইন স্ক্রিপ্টটি কার্যকর হয়নি, আমার ধারণা, কারণ # মাই_ফর্মটি এখনও লোড করা হয়নি।

$(document).ready(function() {
  $("#my_form textarea").val('');
});

pdub23, নতুন উত্তর তৈরি করার চেয়ে গ্রহণযোগ্য উত্তরের বিষয়ে মন্তব্য করা সর্বদা ভাল ...
ফ্যাবিও বাতিস্তা

1

এমনকি আপনি নীচের স্নিপেট ব্যবহার করতে পারেন।

$("textarea#ExampleMessage").append(result.exampleMessage);

1

পৃষ্ঠাটিতে আমার কাছে যখন জিকুয়েরি v1.4.4 ছিল, তখন তাদের কোনওটিই কাজ করে না। আমার পৃষ্ঠায় JQuery v1.7.1 ইনজেক্ট করার সময়, এটি শেষ পর্যন্ত কাজ করেছে worked সুতরাং আমার ক্ষেত্রে এটি আমার JQuery সংস্করণই সমস্যাটি সৃষ্টি করেছিল।

আইডি ==> টেক্সারইড

======================

var script1 = document.createElement("script");
script1.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
document.body.appendChild(script1);

var script2 = document.createElement("script"); 
script2.type = "text/javascript"; 
script2.innerHTML = "var $jq171 = $.noConflict();"; 
document.body.appendChild(script2);

$jq171('#textareaid').val('xxx');

1

আমি $(textarea).val/html/text(any_str_var)সব আমার জন্য কাজ করেছি । আপনি যদি নিশ্চিত হতে চান যে আপনার স্ট্রিং হিসাবে ভেরিয়েবলটি টেক্সারিয়ার সাথে যুক্ত হয়েছে তবে আপনি সর্বদা এর মতো কনক্যাট করতে পারেন:

$(textarea).val(unknown_var + '')

.val () পদ্ধতিটি অবশ্যই টেক্সটরিয়ায় ব্যবহৃত হয় - দেখুন: https://api.jquery.com/val/

.html () কোনও উপাদানগুলির সামগ্রী পেতে বা সেট করতে ব্যবহার করা যেতে পারে - দেখুন: https://api.jquery.com/html/#html2

.text () এইচটিএমএল এর সমান এটি ব্যতীত এক্সএমএল সামগ্রী সেট করতে ব্যবহার করা যেতে পারে: দেখুন - https://api.jquery.com/text/#text-text

এই লিঙ্কগুলির প্রত্যেকটির সাথে প্রত্যেকে কীভাবে বিশেষ চরিত্রগুলিতে কাজ করে সে সম্পর্কে আরও পড়তে পারেন।


0

কেবল এই কোডটি ব্যবহার করুন এবং আপনার সর্বদা মান থাকবে:

var t = $(this); var v = t.val() || t.html() || t.text();

সুতরাং এটি ভাল () পরীক্ষা করে তার মান নির্ধারণ করবে। যদি ভ্যাল () একটি খালি স্ট্রিং পায়, NULL, NaN os এটি html () এবং তারপরে পাঠ্য () এর জন্য পরীক্ষা করবে ...


0

এইটা কাজ করে:

var t = $('#taCommentSalesAdministration');
t.val('Hi');

মনে রাখবেন, এখানে জটিল অংশটি নিশ্চিত করছে যে আপনি সঠিক আইডি ব্যবহার করেছেন। এবং আইডি ব্যবহার করার আগে আপনি #এটি আগে রেখেছিলেন তা নিশ্চিত করুন ।


0

ব্যবহার $("textarea#ExampleMessage").html('whatever you want to put here');একটি ভাল উপায় হতে পারে, কারণ.val() আপনি যখন ডাটাবেস থেকে ডেটা ব্যবহার করছেন তখন সমস্যা হতে পারে।

উদাহরণ স্বরূপ:

হিসাবে চিহ্নিত একটি ডাটাবেস ক্ষেত্রের descriptionনিম্নলিখিত মান রয়েছে asjkdfklasdjf sjklñadf। এক্ষেত্রে টেক্সারিয়াকে মান নির্ধারণের জন্য .val () ব্যবহার করা এক ক্লান্তিকর কাজ হতে পারে।


0

আমি JQuery ব্যবহার করে মান / পাঠ্য / এইচটিএমএল সেট করার চেষ্টা করেছি কিন্তু সফল হই নি। সুতরাং আমি নিম্নলিখিত চেষ্টা করেছিলাম।

এক্ষেত্রে আমি ডিওএম তৈরির পরে নতুন টেক্সারিয়া উপাদানটি ইনজেকশন দিচ্ছিলাম।

 var valueToDisplay= 'Your text here even with line breaks';
 var textBox = '<textarea class="form-control" >'+ valueToDisplay +'</textarea>';
 $(td).html(textBox);

এখানে চিত্র বর্ণনা লিখুন

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