jquery用选择值替换文本字段值

时间:2015-01-24 23:04:11

标签: javascript jquery

我已阅读此SO post并应用以下代码以使用HTML选择选项替换文本字段。

$("#id_reason").replaceWith(
    '<select id="id_reason" name="id_reason" onchange="changeReason();"' +
        '<option value="0">Select a Reason</option>' +
        '<option value="General Query">General Query</option>' +
        '<option value="Feedback">Feedback</option>' +
        '<option value="Complaint">Complaint</option>' +
        '<option value="Translation">Translation</option>' +
        '<option selected value="Registration">Registration</option>' +
        '<option selected value="Subscription">Subscription</option>' +
        '<option selected value="Other">Other</option>' +
    '</select>');

    function changeReason() {

        //apply some code here I think!

    }

我遇到的问题是表单无法识别原因选择列表的选定值b / c表单验证不允许原因值为空白。

如何编写代码以将select选项的值应用为提交表单时应用于reason字段的值?

我尝试将选择列表重命名为id_reason1,但在提交表单时无法弄清楚如何将所选值应用于字段。

1 个答案:

答案 0 :(得分:2)

你走了:

    $("#id_reason").replaceWith(
        '<select id="id_reason" name="reason">' +
            '<option value="">Select a Reason</option>' +
            '<option value="General Query">General Query</option>' +
            '<option value="Feedback">Feedback</option>' +
            '<option value="Complaint">Complaint</option>' +
            '<option value="Translation">Translation</option>' +
            '<option value="Subscription">Subscription</option>' +
            '<option value="Registration">Registration</option>' +
            '<option value="Other">Other</option>' +
        '</select>');

您有两个问题:

  1. 你有一个错字 - 忽略了关闭选择标签;和
  2. 使第一个选项的值无效,如图所示。