2012-08-26 38 views
1

我在这里阅读了大多数问题,但找不到这个答案,所以我会给它一个镜头!Javascript:使用动态编号获取文本框的值

我想要帮助的是,当选择某个无线电时,我想要获取某个文本框的值。这就是为什么我需要动态ID来知道我想从哪个文本框中选取值。

正如你在下面看到的,我将我的单选按钮分成三组。

问题是,我似乎无法获得文本框的值...!无论我尝试什么,总是返回0(零)

这是我的html!

<asp:RadioButton id="RadioButton1" name="directory" GroupName="sverigemot" value="50" runat="server" Text="Fri tillgång" onclick="calculatePrice()" /> 
    <asp:RadioButton id="RadioButton2" name="directory" GroupName="sverigemot" runat="server" 
     Text="En artikel om dagen(30/mån)" value="25" onclick="calculatePrice()" /> 
    <asp:RadioButton id="sverigemot1" name="choice" GroupName="sverigemot" runat="server" value="0" 
     Text="Skriv antalet artiklar" onclick="calculatePrice()" /> 
    <asp:TextBox ID="textbox1" name="sverigemot1" runat="server" Width="106px"></asp:TextBox> 
     <br /> 
     <asp:RadioButton id="RadioButton4" name="directory" GroupName="handlaihop" value="50" runat="server" Text="Fri tillgång" onclick="calculatePrice()" /> 
    <asp:RadioButton id="RadioButton5" name="directory" GroupName="handlaihop" runat="server" 
     Text="En artikel om dagen(30/mån)" value="25" onclick="calculatePrice()" /> 
    <asp:RadioButton id="handlaihop2" name="choice" GroupName="handlaihop" runat="server" value="0" 
     Text="Skriv antalet artiklar" onclick="calculatePrice()" /> 
    <asp:TextBox ID="textbox2" name="handlaihop1" runat="server" Width="106px"></asp:TextBox> 

这里是我的javascript!

var selectedDirectory = document.getElementsByTagName('input'); 
var valueOfRadio = 0; 
var y = 0; 

for (var i = 0; i < selectedDirectory.length; i++) 
{ 
    //if the radio button is checked 
    if (selectedDirectory[i].checked && selectedDirectory[i].type == 'radio') 
    { 

     if (selectedDirectory[i].value == '0') { 
      //Puts together the dynamic name 
      var dynamictbname = selectedDirectory[i].name + "1"; 
      //Checks the name 
      alert(dynamictbname); 
      //Stores the actual textbox 
      var dynamictb = document.getElementById(dynamictbname); 
      alert('Value in textbox is: ' + parseInt(dynamictb.value)); 


      if (parseInt(dynamictb.value) == null) { 
       alert('Textboxen är null'); 
      } 
      else { 
       var tbvalue = parseInt(dynamictb.value); 
       valueOfRadio += parseInt(document.getElementsByName(dynamictbname)); 
       alert('Name and Value in textbox is: ' + dynamictbname + ' = ' + tbvalue); 
       valueOfRadio += parseInt(selectedDirectory[i].value); 
       y++; 
      } 
     } 
     else { 

      valueOfRadio += parseInt(selectedDirectory[i].value); 
      alert(valueOfRadio); 

     } 

    } 
} 

var divobj = document.getElementById('thePrice'); 
divobj.innerHTML = "value" + valueOfRadio; 

回答

0
onchange="setValue(this);" 

function setValue(node){ 
    var txtBoxValue = document.getElementById(node.value).value; 
    alert(txtBoxValue); 
}​ 

$('input[name="directory"]').change(function(){ 
var selector = '#' + $(this).val(); 
var txtBoxValue = $(selector).val(); 
}) 

jQuery DEMO

JavaScript DEMO

+0

它的jQuery代码..他需要它在纯javascript – AdityaParab

+0

@Maverick:哎呀,现在改变它。 –

+0

我搞砸了!张贴我自己的答案感谢阅读并通过你的时间..! – 8bitcat

0

家伙我搞砸了对不起!

我忘了更改我的HTML中的ID。

'我使用getElementsByID,我正在搜索组名+ 1作为ID。该ID的是

TextBox1中,TextBox2中.... textbox99 ......难怪它无法找到它......

我ID混淆名称...愚蠢的我知道!

我摆脱了他们的名字和即时通讯使用ID的texboxes ... 这里是正确的HTML。

<asp:RadioButton id="RadioButton1" name="directory" GroupName="sverigemot" value="50" runat="server" Text="Fri tillgång" onclick="calculatePrice()" /> 
    <asp:RadioButton id="RadioButton2" name="directory" GroupName="sverigemot" runat="server" 
     Text="En artikel om dagen(30/mån)" value="25" onclick="calculatePrice()" /> 
    <asp:RadioButton id="RadioButton3" name="choice" GroupName="sverigemot" runat="server" value="0" 
     Text="Skriv antalet artiklar" onclick="calculatePrice()" /> 
    <asp:TextBox ID="sverigemot1" runat="server" Width="106px"></asp:TextBox> 
     <br /> 
     <asp:RadioButton id="RadioButton4" name="directory" GroupName="handlaihop" value="50" runat="server" Text="Fri tillgång" onclick="calculatePrice()" /> 
    <asp:RadioButton id="RadioButton5" name="directory" GroupName="handlaihop" runat="server" 
     Text="En artikel om dagen(30/mån)" value="25" onclick="calculatePrice()" /> 
    <asp:RadioButton id="RadioButton6" name="choice" GroupName="handlaihop" runat="server" value="0" 
     Text="Skriv antalet artiklar" onclick="calculatePrice()" /> 
    <asp:TextBox ID="handlaihop1" runat="server" Width="106px"></asp:TextBox> 
相关问题