[英]How can i replace value from the option tag value attribute
我有以下情况。 实际上,通过此过程,渲染html下拉框后将显示如下所示的值
<select id="ht" class="input-box quick-jump-menu" name="ht">
<option selected="selected" value="">Jump straight to a below option</option>
<option value="<span id="_SE_CP" _SE_CPt="default"><a href="Google.co.uk" alt="Lakeside" target="_self" class="">Lakeside</a></span>">
Lakeside
</option>
<option value="<span id="_SE_CP" _SE_CPt="default"><a href="http://www.google.com" alt="Alvaston Hall" target="_self" class=""></a></span>">
Alvaston
</option>
通过某些过程,它在那里使用了一些span标签,我只需要在value属性中使用url,如下所示
<select id="ht" class="input-box quick-jump-menu" name="ht">
<option selected="selected" value="">Jump straight to a below option</option>
<option value="Google.co.uk">
Lakeside
</option>
<option value="http://www.google.com">
Alvaston
</option>
在这里,我只需要在“选项”标签的“值”属性中设置URL值。 我认为这可以通过jquery完成。
如果可能的话,请提出任何建议,我们将不胜感激
如果要渲染这样的选项标签,并且想在客户端进行更改,这是一个快速但肮脏的解决方案:
$("#ht option").each(function(){
$(this).attr("value", $($(this).attr("value")).find("a").attr("href"));
});
var tempDiv=$('<div/>');
$('#ht option').each(function(){
tempDiv.html($(this).val());
$(this).val(tempDiv.find('a').attr('href'));
});
上面的代码使用临时div(tempDiv)从选项值捕获html并提取href值。
演示(选择一个选项): http : //jsfiddle.net/A7nyd/
[更新]这实际上是与@chrisgonzalez相同的答案。
首先,当前的HTML出现错误。值中的所有html都带有double quotes.
将其括在single Quotes
或escape the ones inside
括起来。
尝试这个
$('#ht').after('<div id="check"></div>');
$('#ht option').each(function(){
if(this.value != ''){
var $check = $('#check');
var str = this.value;
$check.append(str);
var href = $check.find('a').attr('href');
this.value = href;
$check.empty();
}
});
$('#check').remove();
使用jQuery:
$('option').attr({value: 'new src'});
尝试这个:
$("#ht option").each(function()
{
$(this).val($(this).val().find("a").attr("href"));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.