【问题标题】:How to insert numbers rather than option type into a textbox如何在文本框中插入数字而不是选项类型
【发布时间】:2012-07-06 03:02:50
【问题描述】:

我需要帮助将值附加到文本框中。发生的情况是,使用下面的相关代码,用户可以将表格行中的“选项类型”添加到文本框中。例如,如果用户单击“添加”按钮并且在该行中选项类型为“A-D”,它会在文本框中添加“A-D”。但我不希望它在文本框中添加“A-D”。我希望它在文本框中添加一个数字,而不是“真或假”和“是或否”选项,它们可以按原样插入。每种选项类型的编号如下:

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

我的问题是如何将所有字母选项类型的数字(真或假,是或否保持不变)插入文本框?

以下是将表格行中的选项类型插入文本框的相关代码:

表格行和添加按钮:

      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;
}

【问题讨论】:

    标签: php javascript


    【解决方案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 响应的逻辑。

    【讨论】:

    • 这很好,但要初始化 myNumbers 使用:var myNumbers = {};
    • 这将使 myNumbers 成为一个对象。 Javascript 不支持关联数组
    • @dano,谢谢。我更新了代码以将 myNumbers 初始化为对象而不是数组。据我了解,用法仍然有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2012-07-12
    • 2020-07-24
    • 2014-06-03
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多