jQuery:拆分字符串然后插入输入并选择

时间:2009-10-09 00:06:30

标签: javascript jquery html

我有这样的字符串:

"Car is blue"

字符串也可以是这样的:

"Flower is not at all beautiful"

我有这样的HTML:

<input class="subject" />
<select class="isornot">
    <option>is</option>
    <option>is not</option>
</select>
<input class="adjective" />

我需要拆分字符串并将其放入表单中的适当位置。对于第一个字符串,主语val应为car,应选择,形容值应为蓝色。对于第二个字符串,花是主题,不是选择选项,'at all beautiful'应该是形容词。

因此,拆分应该是或不是。不确定如何去做。感谢。

2 个答案:

答案 0 :(得分:5)

你走了:

var str = "Car is not blue";
var match = str.match(/^(.+?)\s+(is(?:\snot)?)\s+(.+)$/);
if (match) {
    $('input.subject').val(match[1]);
    $('select.isornot').val(match[2]);
    $('input.adjective').val(match[3]);
} else {
    alert("Could not parse message.");
}

参考文献:

答案 1 :(得分:2)

添加ID为“string”的输入框


function split()
{
 var strings=$("#string").attr("value").split("is not");
 if (strings.length==2){
    assingData(strings,1);  
 }
 else{
    strings=$("#string").attr("value").split(" is ");
    assingData(strings,0);
 }
}

function assingData(value,index){
    if(value.length==2){
        $(".subject").attr("value",value[0]);       
        $(".isornot option:eq("+index+")").attr("selected", "selected");
        $(".adjective").attr("value",value[1]);
    }
    else{
        alert("malformed strings");
    }

}