मेरे पास तीन पूर्णांक मानों वाला एक छिपा हुआ फ़ील्ड है, उदाहरण:

<input type="hidden" value="10 23 42">

मैं किसी दिए गए मान को निकालने के लिए jQuery का उपयोग करना चाहता हूं, "10" कहें, जो शेष "23 42" मान छोड़ देगा।

1
user715697 27 जून 2011, 21:10

3 जवाब

सबसे बढ़िया उत्तर
<script>
    $("input").val($("input").val().replace("10 ", ""));
</script>
6
Shaz 27 जून 2011, 21:13
मैं निश्चित रूप से इस उत्तर को कम नहीं कर रहा हूं, लेकिन यह ध्यान दिया जाना चाहिए कि यह दो बार तत्व का चयन करता है, जो एक प्रदर्शन चिंता का विषय हो सकता है।
 – 
Rob Cowie
27 जून 2011, 21:41
आपको इससे बहुत सावधान रहना चाहिए क्योंकि मुझे लगता है कि "10 23 42 310 15" का अंत "23 42 3 15" होगा। इसी तरह यदि आपका मान "23 42 10" था तो कुछ भी नहीं बदला जाएगा। आप अभी भी अपना मूल्य निकालने के लिए .val का उपयोग कर सकते हैं, लेकिन मैं उन्हें एक सरणी के रूप में संग्रहीत करने और जावास्क्रिप्ट का उपयोग करके प्रॉपर तत्व को पुन: असाइन करने से पहले विभाजित करने की सिफारिश करूंगा।
 – 
jdcook72
27 जून 2011, 21:42
उत्कृष्ट बिंदु @ jdcook72। मैं एक regexp का उपयोग करने का सुझाव देता हूं। /10 ?/ उम्मीद के मुताबिक काम करता है मानते हुए '10' की केवल एक ही घटना को हटाना है।
 – 
Rob Cowie
27 जून 2011, 22:27

मूल रूप से @Shaz उत्तर जैसा ही है लेकिन शायद थोड़ा क्लीनर। यह एक फ़ंक्शन का उपयोग करता है जो उपयोग करने के लिए वैल लौटाता है। एपीआई दस्तावेज़ देखें http://api.jquery.com/val/

$('input').val(function(index, val){
    return val.replace('10', '').trim();
});

अपने पूर्णांक के बाद संभावित पिछली जगह को संभालने के लिए:

val.replace(/10 ?/, '').trim()
1
Rob Cowie 27 जून 2011, 21:29
<input type="hidden" id="my_input" value = "10 23 42">
<script type="text/javascript">
jQuery(document).ready(function(){
     $("my_input").attr("value", $("my_input").attr("value").replace("10 ", ""));
});
</script>
-1
Anand 27 जून 2011, 21:16
आपको "वैल" का उपयोग करना चाहिए, यह अधिक सुविधाजनक और पढ़ने में आसान है
 – 
locrizak
27 जून 2011, 21:18