2012-07-05 29 views
1

我需要帮助将值附加到文本框中。会发生什么是通过下面的相关代码片段,用户可以从表格行中的“选项类型”添加到文本框中。例如,如果用户点击“添加”按钮,并在该行内的选项类型是“A-D”,则它在文本框中添加“A-D”。但我不希望它在文本框中添加“A-D”。我希望它添加一个带有文本框的数字,除了“True or False”和“Yes or No”选项外,它们可以按照原样插入。每个选项类型的数字如下:如何插入数字而不是选项类型到文本框

Option Type    Number 

A-C      3 
A-D      4 
A-E      5 
A-F      6 

... 

A-Z      26 
True or False   True or False 
Yes or No    Yes or No 

我的问题是如何能够将被编号为所有字母的选项类型(true或false是或否保持不变)插入文本框?

下面是相关的代码,其中它插入从表行的选项类型到文本框中:

表行并添加按钮:

 echo "<table border='1' id='resulttbl'> 
     <tr> 
     <th class='optiontypeth'>Option Type</th> 
     </tr>"; 
     foreach ($searchResults as $key=>$question) { 
     echo '<td class="optiontypetd">'.htmlspecialchars($searchOption[$key]).'</td>'; 
     echo "<td class='addtd'><button type='button' class='add' onclick=\"parent.addwindow('$searchOption[$key]');\">Add</button></td></tr>"; 
} 
     echo "</table>"; 

下面是选项类型目前插入文本框成:

<input type="text" name="gridValues" class="gridTxt maxRow" id="mainGridTxt" readonly="readonly" /> 

下面是它目前插入的选项类型到以上文本框中的功能:

function addwindow(gridValues) { 

    if(window.console) console.log(); 

    if($(plusbutton_clicked).attr('id')=='mainPlusbutton') { 
     $('#mainGridTxt').val(gridValues); 
     } 

    $.modal.close(); 
    return false; 
} 

回答

1

添加检查你改变输入字段的值之前,这样的:

if(questionText != "True or False" && questionText != "Yes or No") 
{ 
    // caution pseudo-code ahead: 
    var myNumbers = {}; 
    myNumbers["A-C"] = "3"; 
    myNumbers["A-D"] = "4"; 
    // ... 
    myNumbers["A-Z"] = "26"; 
    questionText = myNumbers[questionText]; 
} 

$('#mainGridTxt').val(questionText); 

还有很多其他的方法去转换questionText到正确的号码,但我只是显示您的逻辑可以适应非T/F或-Y/N响应。

+0

这很好,但要初始化myNumbers使用:var myNumbers = {}; – dano 2012-07-05 18:54:31

+0

这将使myNumbers成为一个对象。 Javascript不支持关联数组 – dano 2012-07-05 18:55:04

+0

@dano,谢谢。我更新了代码,将myNumbers初始化为一个对象而不是数组。据我所知,使用情况仍然有效。 – Quantastical 2012-07-05 19:00:53

相关问题