2009-12-14 75 views
0

可有一個人幫我在這jQuery的替代

我有一個變量

var myValue = "what is you name? what is your age?" 

我想找到的「?」在字符串中,並用HTML輸入的文本元素

,用戶可以在文本框,並在輸入答案最後,我需要爲出把這樣

字符串替換爲「你叫什麼名字我的名字是XYZ什麼是你的年齡我25"

請幫我在這

感謝 庫馬爾

回答

0

這會動態地取出你的myValue,用輸入替換所有的?,然後添加一個按鈕來提醒你用戶輸入。它會將myValue放入體內,但您可以將它放在其他位置。

$(function() { 
    var myValue = "what is you name? what is your age?"; 
    myValue = "<div>" + myValue; 
    while(myValue.indexOf("?") > -1) 
    myValue = myValue.replace("?", " <input type=\"text\" />"); 
    myValue += "</div>" + "<button type=\"button\" onclick=\"sumUp(this)\">Declare</button>"; 
    $("body").html(myValue); 
}); 

function sumUp(button) { 
    var $prevDiv = $(button).prev().clone(); 
    $prevDiv.children("input").each(function() { 
    $(this).replaceWith($(this).val()); 
    }); 
    alert($prevDiv.html()); 
} 
+0

嗨感謝回覆第一部分工作正常....我將做發送部分,並會讓你知道。你可以請給第二部分功能部分的一些說明感謝kumar – kumar 2009-12-14 08:24:55

+0

嗨 感謝您的幫助......我得到了第二部分我也明白了。再次感謝您的幫助。 庫馬爾 – kumar 2009-12-14 09:00:24

0

如果你有ID的‘名’和‘年齡’2個輸入元素分別可以做到這一點:

var nameValue = document.getElementById('name').value; 
var ageValue = document.getElementById('age').value; 
var anotherValue = myValue 
     .replace(/name\?/, nameValue) 
     .replace(/age\?/, ageValue) 
+0

嗨感謝您的回覆......我想我困惑了你所有我不確定文本會是什麼,但它包含?我想用文本框替換這個問題,所以當用戶在那些文本框中輸入輸入時,我需要一個字符串,但是不是?我需要在文本框中輸入的文本感謝kumar – kumar 2009-12-14 05:44:06

0

你應該能夠做,因爲簡單的東西:

var myValue = "what is you name? what is your age?" 
var nameVar = window.prompt("What is your name?",""); 
var ageVar = window.prompt("What is your age?",""); 
var myValue = myValue.replace("?", nameVar).replace("?", ageVar); 

或者,你可以這樣做:

var myValue = "what is you name? what is your age?" 
var nameVar = '<input type="text" id="name" name="name">'; 
var ageVar = '<input type="text" id="age" name="age">'; 
document.write(myValue.replace("?", nameVar).replace("?", ageVar)) 

然後你會使用讀取兩個輸入元素jQuery與:

$('name').val(); 
$('age').val(); 
+0

嗨感謝您的答覆...我想我困惑你我所有我不確定文本會是什麼,但它包含?我想用文本框替換這個問題,所以當用戶在那些文本框中輸入輸入時,我需要一個字符串,但是不是?我需要在文本框中輸入的文本感謝kumar – kumar 2009-12-14 05:43:34

0

如果你hav e與其中的問題的div:

<div id="questions">What is your name? What is your age?</div> 

並且你想要替換那些?與輸入框標記,你可以這樣做,使輸入框出現問題之後:

var questions = $("#questions").text(); 
var questionMarkIndex = questions.indexOf("?"); 
var nameQuestion = questions.substring(0, questionMarkIndex+1); 
var finalHtml = nameQuestion + '<input id="name" type="text" />'; 
var ageQuestion = questions.substring(questionMarkIndex+1); 
finalHtml += ageQuestion + '<input id="age" type="text" />'; 
$("#questions").html(finalHtml); 

本(或接近它)會讓你結束了What is your name?[input box] What is your age?[input box]