Javascript jQuery选择器,每个选择器中都有变量
我需要帮助,因为我找不到我在做什么。我有以下代码: 在每个位置使用的datosPre类似于:Javascript jQuery选择器,每个选择器中都有变量,javascript,jquery,Javascript,Jquery,我需要帮助,因为我找不到我在做什么。我有以下代码: 在每个位置使用的datosPre类似于: datosPre[0]='TipoViaFact=Paseo'; datosPre[1]='ProvinciaFact=3'; $.each(datosPre, function(key, value) { var tempArray = value.split('='); if (tempArray[0] == 'TipoViaFact' || te
datosPre[0]='TipoViaFact=Paseo';
datosPre[1]='ProvinciaFact=3';
$.each(datosPre, function(key, value) {
var tempArray = value.split('=');
if (tempArray[0] == 'TipoViaFact' || tempArray[0] == 'ProvinciaFact') {
var tx0 =tempArray[0].toString();
console.log(tx0);
var tx1 =tempArray[1].toString();
console.log(tx1);
console.log("selector:"+"[name="+tx0+"] option[value="+tx1+"]");
var txs =$("[name='"+tx0+"'] option[value="+tx1+"]").text();
//$("[name='"+tx0+"'] option[value="+tx1+"]").attr('selected','selected');
console.log(txs);
}
});
console.log(txs)
返回empty
字符串。我正在使用.text()
进行测试,但我需要选择器添加“.attr('selected','selected');
”而不是.text()代码>
我曾尝试使用Firebug控制台来替换txs选择器上的VAR,它可以工作,但在这里不行
我已经在这里读了几篇文章,我已经按照例子这样做了
有人能帮我吗?看看这个
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript"></script>
<script>
var datosPre = new Array();
datosPre[0]='TipoViaFact=Paseo';
datosPre[1]='ProvinciaFact=3';
$.each(datosPre, function(key, value) {
var tempArray = value.split('=');
if (tempArray[0] == 'TipoViaFact' || tempArray[0] == 'ProvinciaFact') {
var tx0 =tempArray[0].toString();
console.log(tx0);
var tx1 =tempArray[1].toString();
console.log(tx1);
console.log("selector:"+"[name="+tx0+"] option[value="+tx1+"]");
var txs =$("[name='"+tx0+"'] option[value="+tx1+"]").text();
//$("[name='"+tx0+"'] option[value="+tx1+"]").attr('selected','selected');
console.log(txs);
}
});
</script>
var datosPre=新数组();
datosPre[0]='TipoViaFact=Paseo';
datosPre[1]='ProvinciaFact=3';
$.each(数据存储、函数(键、值){
var tempArray=value.split('=');
如果(tempArray[0]=“TipoViaFact”| | tempArray[0]=“ProvinciaFact”){
var tx0=tempArray[0].toString();
console.log(tx0);
var tx1=tempArray[1].toString();
console.log(tx1);
log(“选择器:“+”[name=“+tx0+”]选项[value=“+tx1+”]”);
var txs=$(“[name=”+tx0+“]option[value=“+tx1+”])。text();
//$(“[name=”“+tx0+”]option[value=“+tx1+”]”)attr('selected','selected');
console.log(txs);
}
});
选择器中的值
属性值周围缺少引号。请尝试此操作
var txs =$("[name='"+tx0+"'] option[value='"+tx1+"']").text();
console.log(txs);
要选择该选项:
$("[name='"+tx0+"'] option[value='"+tx1+"']").prop('selected', true);
你为什么不调试一下呢?将结果与HTML(在本问题中没有显示)进行比较会容易得多。请注意,如果您可以自由选择存储预选数据的格式(您似乎这样做了),使用JS对象而不是字符串数组(如中所示)是有益的。最后,在加载DOM时确实会调用它,对吗?因为除此之外,这是一个相当小的问题。@raina77ow首先,感谢您的帮助。原始数据是一个字符串,包含key=value格式的信息。我从两小时前开始调试。DOM已加载,对吗。我只对select选项有问题,输入类型文本与:$(“input[name=”“+tempArray[0]+“]”)val(tempArray[1]。replace(/\+/g'));如果tx0
和tx1
是有效的标识符,则不需要引号-在第一种情况下,它们是有效的。@raina77ow:这是否意味着它不会出现在两个名称值选择器中???@raina77ow是的,我尝试了带引号和不带引号,得到了相同的结果。