这是一个页面的一部分,numberOfP是我从数据库获得的整数并且是可变的。
<div>
<%
string matn = "";
for (int i = 0; i < numberOfP; i++)
{
matn+= " <div class='CMSdiv'>";
matn += "<input id='Text"+i+"' class='labelhid' type='text' />";
matn += "<select id='Select"+i+"' class='drophid'>";
matn += "<option>value= '"+ "خیلی زیاد"+"'>خیلی زیاد" + " <option value= '"+"زیاد'"+">زیاد";
matn += "</select>";
matn += "</div>";
Response.Write(matn);
matn = "";
}
%>
</div>
现在我想知道每个&#34; CMSdiv&#34;什么是html选择的文本,然后获取其值并在后面的代码中更改我的类的第3项(其中包含3个元素)。
我写了这段代码来获取一个选定的项目并倒入标签,然后从该标签获得。但它不起作用。为什么呢?
<script type="text/javascript">
$(document).ready(function () {
$('.CMSdiv .drophid').each(function() {
var selectedText = $(this).find('option:selected').text();
document.getElementById("Labelhid").value = selectedText;
});
});
</script>
答案 0 :(得分:0)
您可以使用
在选择字段中获取所选选项的文本$( "selectElementSelector option:selected" ).text();
但是,根据您的示例,您的所有选项都是&#34;&lt; option&gt;&lt; / option&gt;&#34;所以他们不会有任何文字。它也看起来没有选择默认选项,因此可能为空。
进一步扩大......
$('.CMSdiv .drophid').each(function() {
var selectedText = $(this).find('option:selected').text();
console.log("My Selected text is: "+ selectedText);
});
答案 1 :(得分:0)
您的select标签已有id属性。做一个while循环并在其内部递增,然后在不再找到对象时中断:
var i = 0;
while (true) {
var select = document.getElementById('Select' + i);
if (!select) {break;}
i++;
}