gpt4 book ai didi

javascript - 使用 Jquery 或 Javascript 将隐藏字段值设置为 Javascript 变量

转载 作者:行者123 更新时间:2023-12-01 01:59:56 27 4
gpt4 key购买 nike

非常简短的背景:

我正在使用Jquery Autocomplete从数据库中查找项目的值。然后该值以某种方式赋予同一表单中的隐藏字段,然后插入到数据库中。

让这件事变得稍微复杂的是我正在使用 Jquery Ui Tabs,我过去对它并没有太多的兴趣。

文件中创建选项卡的一些代码:

<script type="text/javascript">
function findValue(li) {
// if( li == null ) return alert("No match!");

// if coming from an AJAX call, let's use the CityId as the value
if( !!li.extra ) var sValue = li.extra[0];

// otherwise, let's just display the value in the text box
else var sValue = li.selectValue;
}

function selectItem(li) {
findValue(li);
}

function formatItem(row) {
return row[0];
}

function lookupAjax(){
var oSuggest = $(".role")[0].autocompleter;

oSuggest.findValue();

return false;
}

function lookupLocal(){
var oSuggest = $("#role")[0].autocompleter;

oSuggest.findValue();

return false;
}
</script>

同一文件创建选项卡,并且还具有启动 Jquery 自动完成的回调

<script type="text/javascript">
$(function() {
$("#tabs").tabs({
load: function(event, ui) { setTimeout( function() { $(".title").focus(); }, 500 );
var ac = $(".role").autocomplete(
"/profile/autocomplete",
{
delay:10,
minChars:1,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:true
}
);

ac[0].autocompleter.findValue();
}
});
});
</script>

然后在实际的选项卡代码中就是表单

<?php   $tab_id = $this->uri->segment(4);
$hidden = array('tab_id' => $tab_id);
$attributes = array('name' => 'additem');
echo form_open('profile/new_item', $attributes, $hidden); ?>
<input type="hidden" value="" name="rolehidden"/>
<?php echo validation_errors(); ?>
<table width="100%" padding="0" class="add-item">
<tr>
<td>Title: <input class="title" type="text" name="title" value="<?php echo set_value('title'); ?>"></input></td>
<td>Role: <input class="role" type="text" name="role" size="15"></input></td>
<td>Year: <input type="text" name="year" size="4" maxlength="4"></input></td>
<td align="right"><input type="submit" value="Add"></input></td>
</tr>
</table>
</form>t

我想做的就是获取 sValue 并将其设置为表单中隐藏字段的值。

我还应该提到,JQuery 选项卡有多个选项卡,它们都具有相同的形式。这意味着所有选项卡中有几个不同的输入字段都具有相同的名称/id/类。

我知道这是 ID 属性的问题,但不确定名称属性是否也存在同样的问题。

我已经尝试了很多不同的 Javascript 和 Jquery 代码片段,以至于我无法再思考了。

突破......但仍然是一个问题

$("[name='rolehidden']").val(sValue);

刚刚取得突破。这段代码确实有效...但仅适用于 <input ="text">元素。它无法在 <input ="hidden"> 上工作是否有解决方法或者我应该使用 CSS 来隐藏文本输入框?

请帮忙

蒂姆

最佳答案

"All I want to do is get sValue and make it the value of the hidden field in the form."

你尝试过吗?

$("[name='rolehidden']").val(sValue);

关于javascript - 使用 Jquery 或 Javascript 将隐藏字段值设置为 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062152/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com