【问题标题】:Trying to send value and text of select input尝试发送选择输入的值和文本
【发布时间】:2011-04-12 23:03:27
【问题描述】:

我需要在我正在编写的 php 文件中发送选择框输入的值和文本。我有 jquery 包括在内。 我正在传递值以查询数据库,但由于与记录关联的名称在另一个表中,并且我不想进行连接,我认为发送名称会更容易(已经被找回)。我认为最简单的方法是使用以下内容填充隐藏输入的值:

$('#individ option:selected').text()

例子

echo "<select id='individ' name='individ'>";
echo "<option value='1'>John Smith</option>";
echo "<option value='2'>Jim Dandy</option>";
echo "<option value='3'>Jane Fletcher</option>";
echo "</select><br />";

echo "<input type='hidden' name='selected_name' value=''>"; //the value of this needs to be the text from the select above    

【问题讨论】:

  • 您将 .val() 用于表单元素,而不是 .text()。
  • 我实际上认为我需要文本。我认为 .val() 会给我编号,而不是名称。那正确吗?我想在隐藏输入中发送实际名称。但我真正的问题是如何将这些数据放入实际的输入标签中?

标签: php javascript jquery ajax


【解决方案1】:
$('#individ').change(function () {
    $('[name="selected_name"]').val($('#individ option:selected').val());
});

我不知道这是否是你想要做的。我不明白为什么你不能在帖子中获得 select 的值。

如果你需要在不提交的情况下完成它,你将不得不做一些 ajax。

【讨论】:

  • 不得不将 .val() 更改为 .text() 但在那之后工作!谢谢!
  • 我需要的是值和文本。我不知道如何在不使用单独输入的情况下发送这两个。
  • 最好使用this 而不是再次查询 DOM 以获得它自己的 value 属性。
【解决方案2】:

首先,如果您现在只关心名称,为什么不将名称分配给optionvalue 属性呢?

如果你真的想要数字作为值,你可以用 onchange 事件更新隐藏字段:

jQuery('#individ').bind('change', function(e) {
    jQuery('input[name="selected_name"]').val(this.value);
});

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2014-10-31
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    相关资源
    最近更新 更多